I run the public site and get the following Redis error, Redis is properly installed and working on my machine
13:31:01 WRN] No connection is active/available to service this operation: EVAL; An existing connection was forcibly closed by the remote host., mc: 1/1/0, mgr: 10 of 10 available, clientName: CANZ-50099848H, IOCP: (Busy=0,Free=1000,Min=8,Max=1000), WORKER: (Busy=3,Free=32764,Min=8,Max=32767), v: 2.2.4.27433 StackExchange.Redis.RedisConnectionException: No connection is active/available to service this operation: EVAL; An existing connection was forcibly closed by the remote host., mc: 1/1/0, mgr: 10 of 10 available, clientName: CANZ-50099848H, IOCP: (Busy=0,Free=1000,Min=8,Max=1000), WORKER: (Busy=3,Free=32764,Min=8,Max=32767), v: 2.2.4.27433 ---> StackExchange.Redis.RedisConnectionException: SocketFailure (ReadSocketError/ConnectionReset, last-recv: 56) on 127.0.0.1:6379/Subscription, Idle/Faulted, last: SUBSCRIBE, origin: ReadFromPipe, outstanding: 0, last-read: 8s ago, last-write: 8s ago, keep-alive: 60s, state: ConnectedEstablished, mgr: 7 of 10 available, in: 0, in-pipe: 0, out-pipe: 0, last-heartbeat: 0s ago, last-mbeat: 0s ago, global: 0s ago, v: 2.2.4.27433 ---> Pipelines.Sockets.Unofficial.ConnectionResetException: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException (10054): An existing connection was forcibly closed by the remote host. at Pipelines.Sockets.Unofficial.Internal.Throw.Socket(Int32 errorCode) in //src/Pipelines.Sockets.Unofficial/Internal/Throw.cs:line 59 at Pipelines.Sockets.Unofficial.SocketAwaitableEventArgs.g__ThrowSocketException|10_0(SocketError e) in //src/Pipelines.Sockets.Unofficial/SocketAwaitableEventArgs.cs:line 86 at Pipelines.Sockets.Unofficial.SocketAwaitableEventArgs.GetResult() in //src/Pipelines.Sockets.Unofficial/SocketAwaitableEventArgs.cs:line 79 at Pipelines.Sockets.Unofficial.SocketConnection.DoReceiveAsync() in //src/Pipelines.Sockets.Unofficial/SocketConnection.Receive.cs:line 64 --- End of inner exception stack trace --- at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result) at System.IO.Pipelines.Pipe.GetReadAsyncResult() at StackExchange.Redis.PhysicalConnection.ReadFromPipe() in //src/StackExchange.Redis/PhysicalConnection.cs:line 1496 --- End of inner exception stack trace --- --- End of inner exception stack trace --- at StackExchange.Redis.ConnectionMultiplexer.ThrowFailed[T](TaskCompletionSource1 source, Exception unthrownException) in //src/StackExchange.Redis/ConnectionMultiplexer.cs:line 2760 --- End of stack trace from previous location --- at Microsoft.Extensions.Caching.StackExchangeRedis.RedisCache.SetAsync(String key, Byte[] value, DistributedCacheEntryOptions options, CancellationToken token) at Volo.Abp.Caching.DistributedCache2.<>c__DisplayClass51_0.<g__SetRealCache|0>d.MoveNext() [13:31:01 WRN] ---------- Exception Data ---------- Redis-Multiplexer-Connects = 1/1/0 Redis-Manager = 10 of 10 available Redis-Client-Name = CANZ-50099848H Redis-ThreadPool-IO-Completion = (Busy=0,Free=1000,Min=8,Max=1000) Redis-ThreadPool-Workers = (Busy=3,Free=32764,Min=8,Max=32767) Redis-Busy-Workers = 3 Redis-Version = 2.2.4.27433 redis-command = EVAL request-sent-status = WaitingToBeSent
We are working with a client of ours DesertFire Online and we want to allow for users with apostrophes in their email addres for example PeterO'Neil@somedomain.com
however the attribute which is used in IdentityUserCreateOrUpdateDtoBase
is [EmailAddress]
which doesn't accept apostrophes
see below code snnipet
using System;
using System.ComponentModel.DataAnnotations;
using JetBrains.Annotations;
using Volo.Abp.ObjectExtending;
using Volo.Abp.Validation;
namespace Volo.Abp.Identity;
public abstract class IdentityUserCreateOrUpdateDtoBase : ExtensibleObject
{
[Required]
[DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxUserNameLength))]
public string UserName { get; set; }
[DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxNameLength))]
public string Name { get; set; }
[DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxSurnameLength))]
public string Surname { get; set; }
[Required]
**[EmailAddress]**
[DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxEmailLength))]
public string Email { get; set; }
[DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxPhoneNumberLength))]
public string PhoneNumber { get; set; }
public bool IsActive { get; set; }
public bool LockoutEnabled { get; set; }
[CanBeNull]
public string[] RoleNames { get; set; }
protected IdentityUserCreateOrUpdateDtoBase() : base(false)
{
}
}
since this is a abstract class and the properties are not virtual we cannot override this, can you please let us know how we can change the [EmailAddress]
attribute to the below regular expression which accepts aprostphes in email addresses please?
[RegularExpression(@"^[\w-']+(\.[\w-']+)*@([a-z0-9-]+(\.[a-z0-9-]+)*?\.[a-z]{2,6}|(\d{1,3}\.){3}\d{1,3})(:\d{4})?$")]
I have created a ExtraProperty for the User called "isActive"
ObjectExtensionManager.Instance.Modules()
.ConfigureSaas(Saas =>
{
Saas.ConfigureTenant(tenant =>
{
tenant.AddOrUpdateProperty<bool>( //property type: string
"isActive", //property name
property =>
{
//validation rules
property.Attributes.Add(new RequiredAttribute());
property.DefaultValue = true;
//...other configurations for this property
}
);
});
});
however this is not binding to the ui when i click edit i can see the isActive checkbox but the value is always true even when the isActive checkox doesn't have a tick mark
I want to replace the Lepton6.css with my own custom.css
I have followed the documentation and it works fine in development environment on local machone .... but it doesn't work in staging, uat and prod environements
public override void ConfigureServices(ServiceConfigurationContext context)
{
var hostingEnvironment = context.Services.GetHostingEnvironment();
var configuration = context.Services.GetConfiguration();
ConfigureBundles();
ConfigureUrls(configuration);
ConfigurePages(configuration);
ConfigureCache(configuration);
ConfigureAuthentication(context, configuration);
ConfigureAutoMapper();
ConfigureVirtualFileSystem(hostingEnvironment);
ConfigureNavigationServices();
ConfigureAutoApiControllers();
ConfigureSwaggerServices(context.Services);
ConfigureCors(context, configuration);
ConfigureExternalProviders(context);
Configure<LeptonThemeOptions>(options =>
{
options.StylePath = "/styles/custom.css";
});
}
private void ConfigureBundles()
{
Configure<AbpBundlingOptions>(options =>
{
options.StyleBundles.Configure(
LeptonThemeBundles.Styles.Global,
bundle =>
{
bundle.AddFiles("/global-styles.css");
bundle.AddFiles("/libs/intl-tel-input/build/css/intlTelInput.css");
}
);
options.ScriptBundles.Configure(
LeptonThemeBundles.Scripts.Global,
bundle =>
{
bundle.AddFiles("/libs/sweetalert2/dist/sweetalert2.all.min.js");
bundle.AddFiles("/libs/intl-tel-input/build/js/intlTelInput.min.js");
bundle.AddFiles("/global.js");
}
);
});
}
ABP Framework version: v4.0.0
UI type: MVC
DB provider: EF Core
Tiered (MVC) or Identity Server Separated (Angular): no
Exception message and stack trace:
Severity Code Description Project File Line Suppression State Error NU1101 Unable to find package Volo.Abp.AspNetCore.Tests. No packages exist with this id in source(s): ABP Commercial NuGet Source, BlazoriseMyGet, Microsoft Visual Studio Offline Packages, nuget.org Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests C:\LearnAbp\440\Acme.Bookstore\modules\Volo.BasicTheme\test\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Tests.csproj 1
Created new 4.4.0 using app template and then tried to add the basic-theme scourcecode using the following command
C:\LearnAbp\440\Acme.Bookstore>abp add-module Volo.BasicTheme --with-source-code --add-to-solution-file
it seems it can't find Volo.Abp.AspNetCore.Tests nuget package
please help trying to create a preview video to demo new funtionality of 4.4.0
ABP Framework version: v4.0.0
UI type: MVC
DB provider: EF Core
Tiered (MVC) or Identity Server Separated (Angular): no
Steps to reproduce the issue:"
abp suite
Menu
created a root menu itemThe Cmskit is enabled in the Domain.Shared module
please see below images
2021-08-13 22:36:28.000 +10:00 [ERR] Error occured while getting the source code for Volo.Payment v4.4.0 - System.Text.Json.JsonException: '<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
---> System.Text.Json.JsonReaderException: '<' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.
at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes)
at System.Text.Json.Utf8JsonReader.ConsumeValue(Byte marker)
at System.Text.Json.Utf8JsonReader.ReadFirstToken(Byte first)
at System.Text.Json.Utf8JsonReader.ReadSingleSegment()
at System.Text.Json.Utf8JsonReader.Read()
at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
--- End of inner exception stack trace ---
at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, JsonReaderException ex)
at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
at System.Text.Json.JsonSerializer.ReadCore[TValue](Utf8JsonReader& reader, Type returnType, JsonSerializerOptions options)
at System.Text.Json.JsonSerializer.Deserialize[TValue](String json, Type returnType, JsonSerializerOptions options)
at Volo.Abp.Json.SystemTextJson.AbpSystemTextJsonSerializerProvider.Deserialize[T](String jsonString, Boolean camelCase) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.Json\Volo\Abp\Json\SystemTextJson\AbpSystemTextJsonSerializerProvider.cs:line 34
at Volo.Abp.Json.AbpHybridJsonSerializer.Deserialize[T](String jsonString, Boolean camelCase) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.Json\Volo\Abp\Json\AbpHybridJsonSerializer.cs:line 37
at Volo.Abp.Cli.ProjectBuilding.RemoteServiceExceptionHandler.GetAbpRemoteServiceErrorAsync(HttpResponseMessage responseMessage) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\RemoteServiceExceptionHandler.cs:line 52
at Volo.Abp.Cli.ProjectBuilding.RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(HttpResponseMessage responseMessage) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\RemoteServiceExceptionHandler.cs:line 38
at Volo.Abp.Cli.ProjectBuilding.AbpIoSourceCodeStore.DownloadSourceCodeContentAsync(SourceCodeDownloadInputDto input) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\AbpIoSourceCodeStore.cs:line 220
at Volo.Abp.Cli.ProjectBuilding.AbpIoSourceCodeStore.GetAsync(String name, String type, String version, String templateSource, Boolean includePreReleases) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\AbpIoSourceCodeStore.cs:line 112
at Volo.Abp.Cli.ProjectBuilding.ModuleProjectBuilder.BuildAsync(ProjectBuildArgs args) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ProjectBuilding\ModuleProjectBuilder.cs:line 48
at Volo.Abp.Cli.Commands.Services.SourceCodeDownloadService.DownloadModuleAsync(String moduleName, String outputFolder, String version, String gitHubAbpLocalRepositoryPath, String gitHubVoloLocalRepositoryPath, AbpCommandLineOptions options) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\Commands\Services\SourceCodeDownloadService.cs:line 40
at Volo.Abp.Cli.Commands.GetSourceCommand.ExecuteAsync(CommandLineArgs commandLineArgs) in D:\ci\Jenkins\workspace\abp-commercial-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\Commands\GetSourceCommand.cs:line 62
at Volo.Abp.Suite.Controllers.AbpSuiteController.GetSourceAsync(GetSourceInput input)
2021-08-13 22:36:28.038 +10:00 [WRN] ---------- RemoteServiceErrorInfo ----------
{
"code": null,
"message": "'<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.",
"details": null,
"data": {},
"validationErrors": null
}
2021-08-13 22:36:28.039 +10:00 [WRN] '<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
Volo.Abp.UserFriendlyException: '<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
at Volo.Abp.Suite.Controllers.AbpSuiteController.GetSourceAsync(GetSourceInput input)
at lambda_method2244(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2021-08-13 22:36:28.043 +10:00 [WRN] Code:
2021-08-13 22:36:28.044 +10:00 [WRN] Details:
2021-08-13 22:36:28.049 +10:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.Http.RemoteServiceErrorResponse'.
2021-08-13 22:36:28.050 +10:00 [INF] Executed action Volo.Abp.Suite.Controllers.AbpSuiteController.GetSourceAsync (Volo.Abp.Suite) in 2293.3685ms
2021-08-13 22:36:28.050 +10:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.AbpSuiteController.GetSourceAsync (Volo.Abp.Suite)'
2021-08-13 22:36:28.051 +10:00 [INF] Request finished HTTP/1.1 POST http://localhost:3000/api/abpSuite/get-source application/json 84 - 403 - application/json;+charset=utf-8 2296.5217ms
I have a requirement to logout a user which is created if they choose the "Primary Contact" role
it seems since it is a createModal i am not able to redirect to the logout page on saving the Primary Contact User
can you please help suggest a way i can achive this requirement?
i am able to display the below message, however when i hit save it will not redirect to the logout page
We want to embed a link in a userfriendlymessage message which is thrown in a AppService
how can we achive this?