具有角色自定义的应用程序中的性能降低。 DevExpress eXpressAppFramework(XAF)

时间:2014-09-22 17:03:16

标签: performance frameworks devexpress xaf

我有一个带有middler层架构的应用程序.net framework 4.0和devexpress版本13.2.8。

我正在创建一个新角色并将其作为用户登录,当该用户登录时, 登录需要大约20到60秒。但是,如果具有管理员角色的其他用户登录它需要1秒钟。这种行为 在Listview,查找对象等其他功能中也很常见。

是否可以向我们说明一些有关此主题的信息。

1 个答案:

答案 0 :(得分:0)

这可能有很多原因,但我猜可能是因为管理员不需要检查IsGranted是否有权限请求。我建议你检查一下这种方法对你的表现的影响。

例如,您可以发现对AuditDataItemPersistent的权限请求检查可能很重且不必要,因此您可以覆盖SecurityStrategyComplex类并跳过它:

public override bool IsGranted(IPermissionRequest permissionRequest)
    {
        //Always grant for AuditDataItemPresistent for performance reasons.
        if (permissionRequest is ClientPermissionRequest)
            if (typeof(AuditDataItemPersistent).IsAssignableFrom(((ClientPermissionRequest)(permissionRequest)).ObjectType))
                return true;

        return base.IsGranted(permissionRequest);
    }