相关疑难解决方法(0)

属性中的依赖注入

我试图将依赖注入到自定义中AuthorizeAttribute,如下所示:

public class UserCanAccessArea : AuthorizeAttribute
{
    readonly IPermissionService permissionService;

    public UserCanAccessArea() :
        this(DependencyResolver.Current.GetService<IPermissionService>()) { }

    public UserCanAccessArea(IPermissionService permissionService)
    {
        this.permissionService = permissionService;
    }

    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        string AreaID =
            httpContext.Request.RequestContext.RouteData.Values["AreaID"] as string;

        bool isAuthorized = false;

        if (base.AuthorizeCore(httpContext))
            isAuthorized = permissionService.UserCanAccessArea(AreaID, httpContext.User);

        return isAuthorized;
    }
}
Run Code Online (Sandbox Code Playgroud)

这有效,但似乎是作为一个单身人士解决,这意味着我得到了我以前的问题中描述的问题

我想要做的是使用属性注入但由于我的属性本身没有被Unity解决,我无法找到一种方法来配置容器来拦截和解析属性.我尝试过以下方法:

public class UserCanAccessArea : AuthorizeAttribute
{
    public IPermissionService permissionService { get; set; }

    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        string AreaID =
            httpContext.Request.RequestContext.RouteData.Values["AreaID"] …
Run Code Online (Sandbox Code Playgroud)

c# authentication asp.net-mvc dependency-injection unity-container

19
推荐指数
2
解决办法
2万
查看次数

什么是Humble Object模式以及何时有用?

我正在阅读Dino Esposito关于如何在ASP.NET MVC中测试AsyncConrollers的文章,在那里他使用了"Humble Object"模式,而没有详细介绍.

谷歌周围也没有运气.

那么,Humble Object模式是什么?什么时候有用?

.net c# design-patterns

17
推荐指数
3
解决办法
9985
查看次数