权限notCacheKeys,反向匹配权限Name,性能问题
改造了下代码 日志
这个是权限多语言,主要是这个
用最新版替换了,老版的代码没有DisableTracking(), using (PermissionGrantRepository.DisableTracking()){} 都手都改了查询实现
https://abp.io/support/questions/9767/The-abp-permission-cache-PermissionGrants-loads-very-slowly-during-the-first-login-but-very-quickly-during-the-second-login-When-the-permission-cache-is-manually-cleared-it-slows-down-again# 通过修改源码,添加耗时日志,发现权限在慢主要是这个函数 PermissionStore.SetCacheItemsAsync
.har文件发你邮箱不,7.2.2 后权限修改代码,copy 会722 重写编译,替换722的权限模块代码可以不
接近4000个权限,50个角色,500用户,每次登录,PermissionGrants Cache,客户端4000,角色4000,用户4000,然后去重。第一登录慢,出现白屏,第二次快点,手动删除缓存,又变慢
abp权限缓存PermissionGrants,第一次登录加载很慢,第二次很快,当手动清除权限缓存后,又变慢
修改源码,添加耗时日志
protected override void ConfigureConventions(ModelConfigurationBuilder builder) { builder.Properties<bool>().HaveConversion<BoolToZeroOneConverter<int>>(); builder.Properties<bool?>().HaveConversion<BoolToZeroOneConverter<int?>>(); } efcore 自带了一堆方法
protected override void ConfigureConventions(ModelConfigurationBuilder builder) { builder.Properties<bool>().HaveConversion<BoolToZeroOneConverter<int>>(); builder.Properties<bool?>().HaveConversion<BoolToZeroOneConverter<int?>>(); }
使用的Oracle (Official)