Использование Unity для зависимости Inject IRepository <T>в контроллер не работает - PullRequest
0 голосов
/ 12 сентября 2011

У меня есть связка интерфейса репозитория IRepository<T>, где T - класс сущности, конкретная реализация IRepository<T> будет ConcreteRepository<T>, и я попытался использовать это для регистрации типов:

IUnityContainer container = new UnityContainer();
container.RegisterType<IRepository<User>, ConcreteReposotory<User>>();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));

И я намереваюсь решить зависимость, когда экземпляр контроллера использует IRepository, например:

public HomeControllr : Controller
{
    //[Dependency]
    IRepository<User> userRepo;
    public HomeController(IRepository<User> userRepo)
    {
        this.userRepo = userRepo;
    }
}

Но я не мог заставить это работать, я что-то здесь упускаю.Я попытался поместить атрибут '[Dependency]' там, но все еще не работает ... Любые советы?

1 Ответ

0 голосов
/ 26 апреля 2013

вы должны сделать userRepo общедоступным и применить к нему атрибут [Dependency]

...