Я надеюсь, что это помогает.
я есть проект 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, я вижу, что свойство репозитория не инициализировано. Но эта конструкция:
[Dependency]
private IProveaRepository Repository { get; set; }
например, отлично работает в контроллерах.
Кто-нибудь знает, почему это так и что делать?