Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 20328|Відповідь: 0

[WebAPI] У MVC5 та webAPI використовується ін'єкція залежностей Autofac

[Копіювати посилання]
Опубліковано 29.11.2017 14:35:33 | | | |
Багато книг згадують такі поняття, як ін'єкція залежностей і інверсія керування, усі з яких спрямовані на досягнення слабо пов'язаних шарів, компонентів і цілей класів.

Зазвичай клас репозиторію використовується для розділення прямого з'єднання між контролером і моделлю. Щоб роз'єднати тісне з'єднання між класом Репозиторію та Контролером, воно зазвичай не визначається і не створюється безпосередньо класом Репозиторію, а вводиться у вказаний Репозиторій через метод побудови Контролера.



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

Ось коротке пояснення того, як використовувати Autofac Injection MVC5 та Webapi2.

1. Використовуйте nupkg для посилання на Autofac, Autofac.Mvc5 та Autofac.Webapi2

PM> install-package 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 container=будівельник. Build();
4. Створіть ціль на все життя з контейнера.

5. Використовуйте цей Lifetime Scope для аналізу екземплярів компонентів.

Конфігурація. DependencyResolver = новий AutofacWebApiDependencyResolver(container); Щоб зареєструвати контейнер API, потрібно скористатися об'єктом HttpConfiguration
DependencyResolver.SetResolver(новий AutofacDependencyResolver(container)); Зареєструйте контейнер MVC
6. У методі Register класу WebApiConfig викликайте вищезазначений кроковий код і передайте об'єкт HttpConfiguration.



Перевага autofac полягає в тому, що його можна роз'єднати за один раз без необхідності конфігурації; autofac краще реалізує концепцію «конвенція більша за конфігурацію» у MVC.





Попередній:asp.net MVC додає контролер WebAPI
Наступний:Як перезарядитися.
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com