小编jus*_*yan的帖子

自定义成员资格提供程

我有ASP.NET MVC3项目,我想使用自定义成员资格提供程序.另外,我想使用Unity来解决我的依赖注入问题.

这是Global.asax的代码:

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);

        var container = new UnityContainer();
        container.RegisterType<IAuthentification, Authentification>();
        container.RegisterType<IRepository, Repository>();

        DependencyResolver.SetResolver(new UnityDependencyResolver(container));

    }
Run Code Online (Sandbox Code Playgroud)

这是我的会员提供者的代码:

public class CustomMembershipProvider : MembershipProvider
{
   [Dependency]
   private IProveaRepository Repository { get; set; }

   public override bool ValidateUser(string username, string password)
    {
       .....
    }
Run Code Online (Sandbox Code Playgroud)

问题是当我将断点放到ValidateUser方法时,我看到Repository属性没有初始化.但这种结构:

   [Dependency]
   private IProveaRepository Repository { get; set; }
Run Code Online (Sandbox Code Playgroud)

例如,在控制器中工作正常.

有人知道为什么会这样,该怎么办?

membership dependency-injection unity-container asp.net-mvc-3

5
推荐指数
2
解决办法
3884
查看次数