2014-04-03 4 views
5

voglio applicazione MVC5 configurazione con Unity 3. ho creato un'applicazione predefinita mvc5 web da un modello standard quindi aggiungere l'unitàIl tipo IUserStore`1 non ha un costruttore accessibile

Quando io sono l'accesso all'azione Registrati in AccountController ottengo la seguente eccezione:

Il tipo IUserStore`1 non ha un costruttore accessibile.

da questo post How to add MVC 5 authentication to Unity IoC? So che il problema è che Unity seleziona il costruttore con un elenco di parametri più lungo.

La soluzione è quella di registrare il controllo account da utilizzare con il costruttore di default nel seguente modo:

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

Quello che vorrei fare è quello di registrarlo nel file di configurazione non nel codice E ' possibile fare lo stesso in web.config?

migliori saluti, Sebastian

risposta

4

È possibile configurare l'unità con configurazione XML. Nel tuo caso sarebbe simile a questa:

<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> 

E allora avete bisogno di caricare in modo esplicito la configurazione:

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

Esattamente quello che mi serviva. Saluti! –