Activities of "shodgson"

Thanks for the snippet.

The snippet does seem to help reduce the number of queries being made, but those queries still create sessions that remain idle in the connection pool until they’re removed 4–8 minutes later, as described here: https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-connection-pooling#remove-connections

I reran my load test 3–4 times both with and without includeDetails: false, and the results were almost always the same. Without includeDetails: false, I consistently see about twice as many sessions being opened and then idled in the pool compared to when I use includeDetails: false.

I also ran the load tests on other endpoints not directly related to Identity, and I observed the same behavior.

Do you have any idea if there might be connections that aren’t being properly disposed somewhere?

Thanks

[maliming] said: hi

Can you try setting includeDetails to false during ResetPasswordAsync and then try again?

var user = await IdentityUserRepository.GetAsync(input.UserId, includeDetails: false);

using System.Threading.Tasks; 
using Microsoft.AspNetCore.Identity; 
using Microsoft.Extensions.Options; 
using Volo.Abp; 
using Volo.Abp.Account; 
using Volo.Abp.Account.Emailing; 
using Volo.Abp.Account.PhoneNumber; 
using Volo.Abp.BlobStoring; 
using Volo.Abp.Caching; 
using Volo.Abp.DependencyInjection; 
using Volo.Abp.Identity; 
using Volo.Abp.Imaging; 
using Volo.Abp.SettingManagement; 
 
namespace MyCompanyName.MyProjectName; 
 
[Dependency(ReplaceServices = true)] 
[ExposeServices(typeof(AccountAppService), typeof(IAccountAppService))] 
public class MyAccountAppService : AccountAppService 
{ 
    protected IIdentityUserRepository IdentityUserRepository { get; set; } 
 
    public MyAccountAppService( 
        IdentityUserManager userManager, 
        IAccountEmailer accountEmailer, 
        IAccountPhoneService phoneService, 
        IIdentityRoleRepository roleRepository, 
        IdentitySecurityLogManager identitySecurityLogManager, 
        IBlobContainer<AccountProfilePictureContainer> accountProfilePictureContainer, 
        ISettingManager settingManager, 
        IOptions<IdentityOptions> identityOptions, 
        IIdentitySecurityLogRepository securityLogRepository, 
        IImageCompressor imageCompressor, 
        IOptions<AbpProfilePictureOptions> profilePictureOptions, 
        IApplicationInfoAccessor applicationInfoAccessor, 
        IdentityUserTwoFactorChecker identityUserTwoFactorChecker, 
        IDistributedCache<EmailConfirmationCodeCacheItem> emailConfirmationCodeCache, 
        IdentityErrorDescriber identityErrorDescriber, 
        IOptions<AbpRegisterEmailConfirmationCodeOptions> registerEmailConfirmationCodeOptions, 
        IIdentityUserRepository identityUserRepository) 
        : base(userManager, accountEmailer, phoneService, roleRepository, identitySecurityLogManager, 
            accountProfilePictureContainer, settingManager, identityOptions, securityLogRepository, imageCompressor, 
            profilePictureOptions, applicationInfoAccessor, identityUserTwoFactorChecker, emailConfirmationCodeCache, 
            identityErrorDescriber, registerEmailConfirmationCodeOptions) 
    { 
        IdentityUserRepository = identityUserRepository; 
    } 
 
    public override async Task ResetPasswordAsync(ResetPasswordDto input) 
    { 
        await IdentityOptions.SetAsync(); 
        var user = await IdentityUserRepository.GetAsync(input.UserId, includeDetails: false); 
        (await UserManager.ResetPasswordAsync(user, input.ResetToken, input.Password)).CheckErrors(); 
 
        await IdentitySecurityLogManager.SaveAsync(new IdentitySecurityLogContext 
        { 
            Identity = IdentitySecurityLogIdentityConsts.Identity, 
            Action = IdentitySecurityLogActionConsts.ChangePassword 
        }); 
    } 
} 
 

Thanks

Hello,

The ResetPasswordAsync method is called when POSTing the password. In my case, the issue I have can be reproduced only by loading the /Account/ResetPassword page which will only call the AccountAppService.VerifyPasswordResetTokenAsync. The AccountAppService.ResetPasswordAsync won't be called in that flow

Hello,

The code has been sent to your email.

Thanks

Log traces sent to your mail address,

Thanks

That query seems to be initiated within the ABP codebase so we don't have an easy control over it

I created a new solution on 9.2.0 and the issue is not there anymore. I will need to investigate a bit more to see what could potentially be the difference between 9.1.0 and 9.2.0 that make it works.

that does not seem to fix the issue. I have included the the css file manually in the bundle and I still have the issue.

Hello I did create a new boilerplate and found out that it was working in the boilerplate.

I found out that the redis cache was not configured properly in my custom service and now it's working fine

Thanks for the help !!

Hello,

Not sure if I was clear enough but I already tried that with no success.

Also, I don't see any relevance to set that configuration in the blazor server cause like I said I want the updated feature value in my backend microservice and not the ** front-end blazor. **

thanks :)

[maliming] said: Hi

You can configure it in blazor web app and blazor web app client projects.

Because blazor web app has blazor server and wasm projects.

Yes,

but the AbpAspNetCoreMvcClientCacheOptions comes from the Volo.Abp.AspNetCore.Mvc.Client namespace wich can't work in the blazor client (WASM). I get ;

There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'.

Is there something I'm missing? Also, shouldn't this absolute expiration configuration be placed in my microservice project, since that's where I want to consume the feature value—not in the front-end?

Additionally, I tried setting the tenant feature value to a different value again and waited for about 30 minutes, but the updated value still wasn't fetched by my service.

Thanks.

Showing 1 to 10 of 19 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on October 27, 2025, 08:34