Activities of "heshengli"

Could not find IdentityClientConfiguration for AbpMvcClient. Either define a configuration for AbpMvcClient or set a default configuration.

这个应用,有很多人使用,且页面长期打开使用不关闭

引用Contracts模块,包含大量权限,导致自身程序启动时也加载引用Contracts模块的权限,对自身程序没有作用,还影响性能

Answer

是否考虑添加OneTime.Run(),初始化全部用户角色权限,在权限多的情况下,Cache.SetManyAsync比较耗时 也可以添加Options开关

Answer

[maliming] said:

var permissions = (await PermissionDefinitionManager.GetPermissionsAsync()) 
                .Where(x => notCacheKeys.Any(k => GetPermissionNameFormCacheKeyOrNull(k) == x.Name)).ToList(); 

改为

var names = notCacheKeys.Select(k => GetPermissionNameFormCacheKeyOrNull(k)).ToArray(); 
 
var permissions = (await PermissionDefinitionManager.GetPermissionsAsync()) 
    .Where(x => names .Any(k => k == x.Name)).ToList(); 

速度从6秒到几秒? 6969ms到92ms

Answer

上面的问题,只解决了部分问题,我的程序是7.2.2 的微服务框架,没有升级到最新版本,但是会把一些高版本的优化,copy到本地重新发布dll替换原有的dll await Cache.SetManyAsync(cacheItems); 大量权限的时候设置缓存还是有2s,每次用户登录,获取Role ,User 权限都会有2s ,一起就是4s左右, 可能还要加OneTime方法,程序启动的时候把全部信息加载到缓存,后期用户登录才可能比较快。现在是第一次登录慢,第二次才快 系统启动热数据还是要加载到缓存

Answer

https://github.com/abpframework/abp/blob/dev/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionStore.cs#L178-L179

var permissions = (await PermissionDefinitionManager.GetPermissionsAsync())
                .Where(x => notCacheKeys.Any(k => GetPermissionNameFormCacheKeyOrNull(k) == x.Name)).ToList();

改为

var names = notCacheKeys.Select(k => GetPermissionNameFormCacheKeyOrNull(k)).ToArray();

var permissions = (await PermissionDefinitionManager.GetPermissionsAsync())
    .Where(x => names .Any(k => k == x.Name)).ToList();
Answer

好像不是这个函数GetPermissionNameFormCacheKeyOrNull的问题

(await PermissionDefinitionManager.GetPermissionsAsync()).Where(x => notCacheKeys.Any(k => GetPermissionNameFormCacheKeyOrNull(k) == x.Name)).ToList()

notCacheKeys.Any(k => GetPermissionNameFormCacheKeyOrNull(k) == x.Name),每次都要全量转字符串匹配再Any, (await PermissionDefinitionManager.GetPermissionsAsync()). Count1 notCacheKeys Count2 O(Count1*Count2)

Answer

很多这样的权限 pn:R,pk:admin,n:C1:PQCManage.TestResultPqcSp.Update C1:PQCManage.TestResultPqcSp.Update 很多这种类型,C1:PQCManage.TestResultPqcSp.Update ,C2:PQCManage.TestResultPqcSp.Update,C3:PQCManage.TestResultPqcSp.Update

Answer

Blazor Server 白屏时间成15s-10s+,但是页面还是白屏明细

Showing 1 to 10 of 41 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 December 17, 2025, 07:08
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.