9

Chciałem dodać DI do mojej biblioteki klasowej, która jest częścią aplikacji internetowej MVC4. Miałem więc opcję Unity, structuremap, ninject. Wybrałem jedność, ponieważ została wspomniana w próbce Asp.Net.jedność lub unity.mvc4 dla aplikacji MVC4

Kiedy przeszukiwałem Nuget dla Jedności, widzę, że istnieje wiele odmian Jedności. Który z nich jest odpowiedni dla mojej biblioteki, Unity lub Unity.MVC4

Odpowiedz

7

Będziesz chciał dodać pakiet Unity.MVC4, ponieważ zapewnia on integrację między Unity i ASP.NET MVC 4. Jednak Unity.MVC4 zależy od Unity , dodając, że otrzymasz oba pakiety.

Potrzebny będzie również coś takiego skonfigurować integrację:

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

Należy użyć Nuget zainstalować Unity inicjującego dla ASP.NET MVC. Jest tworzony przez firmę Microsoft i używa najnowszego Unity 3.0. Jest także wspomniany w Developer's Guide to Microsoft Unity na stronie 45.

Próbowałem dzisiaj Unity.MVC4. Obecna wersja 1.2 nadal używa Unity 2. Może następna wersja będzie używać nowego Unity 3.0. Myślę, że oba powinny być w porządku.

+0

Dziękuję, wygląda solidnie. – Ron

0

Czy istnieje sposób na wykorzystanie konfiguracji xml z unity.mvc4 zamiast korzystania

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

Code coś podobnego LoadConfiguration() i dodać konfigurację do pliku web.config?

Dzięki

Powiązane problemy