Activities of "maliming"

Answer

这几行虽然可以改进, 但是似乎也不会造成问题.

PermissionDefinitionManager不会查询数据库.

你可以分享一个项目复现问题吗?

liming.ma@volosoft.com

谢谢

Answer

这是我的单元测试代码, 你可以试试吗?

public class GetPermissionNameFormCacheKeyOrNull_Tests
{
    [Fact]
    public void Test()
    {
        var key = PermissionGrantCacheItem.CalculateCacheKey("Permission1", "Role", "1");
        key.ShouldBe("pn:Role,pk:1,n:Permission1");

        var stopwatch = System.Diagnostics.Stopwatch.StartNew();
        for (int i = 0; i < 50000; i++)
        {
            var name = PermissionGrantCacheItem.GetPermissionNameFormCacheKeyOrNull(key);
            name.ShouldBe("Permission1");
        }
        stopwatch.Stop();

        var elapsed = stopwatch.Elapsed.Seconds;
        elapsed.ShouldBeLessThan(2);


        var name2 = PermissionGrantCacheItem.GetPermissionNameFormCacheKeyOrNull("invalid-key");
        name2.ShouldBeNull();
    }
}

Answer

我没有复现问题, GetPermissionNameFormCacheKeyOrNull方法很快. 你的权限缓存key是什么?

hi

Can you copy your code to the test project?

I will check and fix it.

Thanks.

ok, no problem

Can you share an access token?

What is the output if you use the access token to request the profile endpoint?

GET /api/account/my-profile

Answer

好的, 我会测试和修复GetPermissionNameFormCacheKeyOrNull

非常感谢

Answer

它会尝试匹配字符串格式.

 public static string GetPermissionNameFormCacheKeyOrNull(string cacheKey)
{
    var result = FormattedStringValueExtracter.Extract(cacheKey, CacheKeyFormat, true);
    return result.IsMatch ? result.Matches.Last().Value : null;
}

你修改或者替换后是否解决了问题?

Answer

我没有看懂, 你修改后问题解决了?

Answer

手动执行相同的查询Sql 也很慢吗? 数据库是远程访问吗?

Showing 2441 to 2450 of 12930 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.8.0-preview. Updated on November 02, 2026, 06:56
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.