Внедрение зависимости Unity в настраиваемом поставщике членства

У меня есть проект 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; }

например, отлично работает в контроллерах.

Кто-нибудь знает, почему это так и что делать?

5
задан Andrew Cooper 22 March 2012 в 02:38
поделиться