У меня есть проект 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));
}
это код от моего поставщика членства:
public class CustomMembershipProvider : MembershipProvider
{
[Dependency]
private IProveaRepository Repository { get; set; }
public override bool ValidateUser(string username, string password)
{
.....
}
Проблема в том, что когда я помещаю точку останова в метод ValidateUser, я вижу, что Repository свойство не инициализировано. Но такая конструкция:
[Dependency]
private IProveaRepository Repository { get; set; }
например, отлично работает в контроллерах.
Кто-нибудь знает, почему это так и что делать?