Activities of "maliming"

hi

You can call the domain services in your job.

The app services are designed for UI.

Put your app services code to domain services and call it from app services and job.

I will also update the logic in next version.

Volo.Abp.Account.Pro.Public.Web/Pages/Account/EmailConfirmation.cshtml.cs

hi

We also need to override EmailConfirmationModel

I will share code soon.

Your questions credit is refunded.

Yes, I will forward it to the suite team.

Yes, We will update the document.

hi

[DependsOn(typeof(ChatBlazorModule))]
[DependsOn(typeof(ChatBlazorServerModule))]
[DependsOn(typeof(ChatSignalRModule))]
<PackageReference Include="Volo.Chat.Blazor" Version="7.2.1" />
<PackageReference Include="Volo.Chat.Blazor.Server" Version="7.2.1" />
<PackageReference Include="Volo.Chat.SignalR" Version="7.2.1" />

hi

Try the CheckTokenExpiration extension method for your Cookies authentication.

https://github.com/abpframework/abp/pull/16504

hi

You can write detailed http request header info in the log.


[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(AccountAppService), typeof(IAccountAppService))]
public class MyAccountAppService : AccountAppService
{
    public MyAccountAppService(IdentityUserManager userManager,
        IAccountEmailer accountEmailer,
        IAccountPhoneService phoneService,
        IIdentityRoleRepository roleRepository,
        IdentitySecurityLogManager identitySecurityLogManager,
        IBlobContainer<AccountProfilePictureContainer> accountProfilePictureContainer,
        ISettingManager settingManager,
        IOptions<IdentityOptions> identityOptions,
        IIdentitySecurityLogRepository securityLogRepository) :
        base(userManager, accountEmailer, phoneService, roleRepository, identitySecurityLogManager,
        accountProfilePictureContainer, settingManager, identityOptions, securityLogRepository)
    {
    }

    public async override Task ConfirmEmailAsync(ConfirmEmailInput input)
    {
        var httpContext = LazyServiceProvider.LazyGetRequiredService<IHttpContextAccessor>();
        if (httpContext.HttpContext == null)
        {
            var obj = new
            {
                RemoteIpAddress = httpContext.HttpContext.Connection.RemoteIpAddress?.ToString(),
                Headers = httpContext.HttpContext.Request.Headers
                    .Select(header => header.Key + " : " + header.Value)
                    .ToList()
            };

            var logger = LazyServiceProvider.LazyGetRequiredService<ILogger<MyAccountAppService>>();
            logger.LogError(JsonSerializer.Serialize(obj));
        }

        await base.ConfirmEmailAsync(input);
    }
}

Here is a temporary solution:

[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(AccountAppService), typeof(IAccountAppService))]
public class MyAccountAppService : AccountAppService
{
    public MyAccountAppService(IdentityUserManager userManager,
        IAccountEmailer accountEmailer,
        IAccountPhoneService phoneService,
        IIdentityRoleRepository roleRepository,
        IdentitySecurityLogManager identitySecurityLogManager,
        IBlobContainer<AccountProfilePictureContainer> accountProfilePictureContainer,
        ISettingManager settingManager,
        IOptions<IdentityOptions> identityOptions,
        IIdentitySecurityLogRepository securityLogRepository) :
        base(userManager, accountEmailer, phoneService, roleRepository, identitySecurityLogManager,
        accountProfilePictureContainer, settingManager, identityOptions, securityLogRepository)
    {
    }

    public async override Task ConfirmEmailAsync(ConfirmEmailInput input)
    {
        var user = await UserManager.GetByIdAsync(input.UserId);

        if (user.EmailConfirmed)
        {
            return;
        }

        await base.ConfirmEmailAsync(input);
    }
}

Showing 6171 to 6180 of 10654 entries
Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on September 12, 2025, 10:20