我有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