Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 20328|Antwort: 0

[WebAPI] In MVC5 und webAPI wird die Autofac-Abhängigkeitsinjektion verwendet

[Link kopieren]
Veröffentlicht am 29.11.2017 14:35:33 | | | |
Viele Bücher erwähnen Konzepte wie Abhängigkeitsinjektion und Steuerungsinversion, die alle darauf abzielen, lose gekoppelte Schichten, Komponenten und Klassenzwecke zu erreichen.

Es ist üblich, die Repository-Klasse zu verwenden, um die direkte Verbindung zwischen Controller und Modell zu trennen. Um die enge Verbindung zwischen der Repository-Klasse und dem Controller zu trennen, wird sie in der Regel nicht direkt von der Repository-Klasse definiert und instanziiert, sondern über die Konstruktionsmethode des Controllers in das angegebene Repository eingeschleust.



Beliebte IoC-Behälter sind: Ninject, Autofac, Unity.

Hier ist eine kurze Erklärung, wie man Autofac-Injektion MVC5 und Webapi2 verwendet.

1. Verwenden Sie nupkg, um Autofac, Autofac.Mvc5 und Autofac.Webapi2 zu referenzieren

PM> Installationspaket autofac -version 3.5.0

PM> install-package autofac.mvc5

PM> install-package autofac.webapi2 (Hinweis: Wenn Sie webapi2 in Ihrem Projekt verwenden, muss es webapi2 sein und nicht webapi, sonst erscheint "Rewrite member autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()" zur Laufzeit "Rewrite member autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()" Verstoß gegen die Erbsicherheitsregeln. Die Sicherheitszugänglichkeit der überschriebenen Methode muss mit der sicheren Zugänglichkeit der umgeschriebenen Methode übereinstimmen. Falsch. )



2. Registrieren Sie die Komponente.

3. Erstellen Sie einen Container für die spätere Nutzung.

var container=Builder. Build();
4. Schaffen Sie einen Lebenszeitumfang vom Container aus.

5. Verwenden Sie diesen Lifetime Scope, um Instanzen von Komponenten zu analysieren.

Konfiguration. DependencyResolver = neuer AutofacWebApiDependencyResolver(container); Um einen API-Container zu registrieren, muss man das Objekt HttpConfiguration verwenden
DependencyResolver.SetResolver(neuer AutofacDependencyResolver(container)); Registrieren Sie den MVC-Container
6. In der Register-Methode der WebApiConfig-Klasse rufen Sie den obigen Schrittcode auf und geben Sie das HttpConfiguration-Objekt ein.



Der Vorteil von Autofac besteht darin, dass es gleichzeitig entkoppelt werden kann, ohne dass Konfiguration erforderlich ist; autofac setzt das Konzept "Konvention ist größer als Konfiguration" in MVC besser um.





Vorhergehend:asp.net MVC fügt einen WebAPI-Controller hinzu
Nächster:Wie man wieder auftankt.
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com