Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 20328|Отговор: 0

[WebAPI] В MVC5 и webAPI се използва автоматична инжекция на зависимости

[Копирай линк]
Публикувано в 29.11.2017 г. 14:35:33 ч. | | | |
Много книги споменават концепции като инжектиране на зависимости и инверсия на управление, всички от които са насочени към постигане на слабо свързани слоеве, компоненти и класови цели.

Обичайно е класът Repository да се използва за разделяне на директната връзка между Controller и Model. За да се прекъсне близката връзка между класа Репозиториум и Контролера, тя обикновено не се дефинира директно и инстанцира от класа Репозитори, а се инжектира в зададеното хранилище чрез метода на конструиране на Контролера.



Популярни IoC контейнери са: Ninject, Autofac, Unity.

Ето кратко обяснение как да използвате Autofac инжекция MVC5 и Webapi2.

1. Използвайте nupkg за референциране на Autofac, Autofac.Mvc5 и Autofac.Webapi2

PM> инсталационен пакет autofac -версия 3.5.0

PM> install-package autofac.mvc5

PM> install-package autofac.webapi2 (Забележка: Ако използвате webapi2 в проекта си, тук трябва да е webapi2, а не webapi, в противен случай ще се появи "Rewrite member Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()" по време на изпълнение) наруши правилата за наследствена сигурност. Достъпността за сигурност на презаписания метод трябва да съответства на сигурната достъпност на пренаписания метод. Грешно. )



2. Регистрирайте компонента.

3. Създайте контейнер за по-късна употреба.

var контейнер=строител. Build();
4. Създайте обхват за цял живот от контейнера.

5. Използвайте този Lifetime Scope за парсиране на екземпляри на компоненти.

конфигурация. DependencyResolver = нов AutofacWebApiDependencyResolver(container); За да регистрирате API контейнер, трябва да използвате обекта HttpConfiguration
DependencyResolver.SetResolver(нов AutofacDependencyResolver(контейнер)); Регистрирай MVC контейнера
6. В метода Register на класа WebApiConfig извикайте горния step код и предайте обекта HttpConfiguration.



Предимството на autofac е, че може да се разкачи наведнъж без необходимост от конфигурация; autofac по-добре реализира концепцията "конвенцията е по-голяма от конфигурацията" в MVC.





Предишен:asp.net MVC добавя WebAPI контролер
Следващ:Как да се презаредите.
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com