2014-04-03 8 views
5

Chcę konfiguracji aplikacji MVC5 z Jedności 3. I stworzył aplikację mvc5 domyślny internetową ze standardowego szablonu następnie dodać jednościTyp IUserStore`1 nie ma dostępnego konstruktora

Kiedy mam dostępu akcję Rejestracja w AccountController otrzymuję następujący wyjątek:

Typ IUserStore`1 nie ma dostępnego konstruktora.

z tego posta How to add MVC 5 authentication to Unity IoC? Wiem, że problem polega na tym, że Unity wybiera konstruktora z dłuższą listą parametrów.

Rozwiązaniem jest zarejestrowanie kontroler Account być używany z domyślnego konstruktora następujący sposób:

container.RegisterType<AccountController>(new InjectionConstructor()); 

Co chciałbym zrobić, to zarejestrować go w pliku konfiguracyjnym nie w kodzie Is It można to zrobić w web.config?

Pozdrawiam, Sebastian

Odpowiedz

4

można skonfigurować za pomocą Jedności konfiguracyjnym XML. W twoim przypadku będzie to wyglądać mniej więcej tak:

<configSections> 
    <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/> 
</configSections>  

<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">  
    <container> 
    <register type="MyApp.AccountController, MyApp"> 
     <constructor /> 
    </register> 
    </container> 
</unity> 

A potem trzeba jawnie załadować konfigurację:

IUnityContainer container = new UnityContainer(); 
container.LoadConfiguration(); 
+0

Dokładnie to, czego potrzebowaliśmy. Twoje zdrowie! –

Powiązane problemy