9

Volevo aggiungere DI alla mia libreria di classi che fa parte dell'applicazione web MVC4. Quindi ho avuto l'opzione di Unity, structuremap, ninject. Ho scelto l'unità perché è stata citata nel campione Asp.Net.unity o unity.mvc4 per applicazione MVC

Quando ho cercato Nuget per Unity, vedo che ci sono più varianti di Unity. Quale è adatto per la mia biblioteca, Unity o Unity.MVC4

risposta

7

Si vorrà aggiungere il pacchetto Unity.MVC4, poiché fornisce l'integrazione tra Unity e ASP.NET MVC 4. Tuttavia, Unity.MVC4 dipende da Unity. , quindi aggiungendo che otterrete entrambi i pacchetti.

Sarà inoltre necessario qualcosa di simile per configurare l'integrazione:

var container = new UnityContainer(); 
// configure container here (RegisterType, etc.), then make sure MVC 4 uses Unity... 
DependencyResolver.SetResolver(new Unity.Mvc4.UnityDependencyResolver(container)); 
3

si dovrebbe usare NuGet installare Unity BootStrapper per ASP.NET MVC. È stato creato da Microsoft e utilizza l'ultima versione di Unity 3.0. Viene anche menzionato in Developer's Guide to Microsoft Unity a pagina 45.

Ho provato Unity.MVC4 oggi. L'attuale versione 1.2 utilizza ancora Unity 2. Forse la prossima versione utilizzerà il nuovo Unity 3.0. Immagino che entrambi dovrebbero essere ok allora.

+0

Grazie, sembra solido. – Ron

0

C'è un modo per utilizzare la configurazione XML con unity.mvc4 invece di usare

container.RegisterType<itestservice, testservice="">(); 

Codice qualcosa di simile LoadConfiguration() e aggiungere la configurazione di web.config?

Grazie

Problemi correlati