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

Ansehen: 57373|Antwort: 4

[Quelle] ASP.NET Core (VI) DI erhält manuell die Methode zum Einschleusen von Objekten

[Link kopieren]
Veröffentlicht am 19.03.2021, 15:13:15 | | |
Tutorial zu ASP.NET Core Dependency Injection, Control Inversion (DI IOC):

ASP.NET Core Dependency Injection verwendet den mitgelieferten IOC-Container
https://www.itsvse.com/thread-7562-1-1.html


Rezension:

ASP.NET Core (fünf) basiert auf CAP-verteilten Transaktionen
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4)-Filter einheitliche ModelState-Modellvalidierung
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Erstellen Sie Instanzen dynamisch mit ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Die Anwendung per Code neu starten
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) verwendet Redis-Caching
https://www.itsvse.com/thread-9393-1-1.html
Abhängigkeitsinjektion in Kurzform:

Dependency Injection (DI) ist eine Technik, die lose Kopplung zwischen einem Objekt und seinen Kollaborateuren oder Abhängigkeiten implementiert. Stellen Sie diese Objekte bereit, die die Klasse nutzt, um ihre Operationen auf irgendeine Weise für die Klasse auszuführen, anstatt direkt Kollaborateure zu instanziieren oder statische Referenzen zu verwenden.

ASP.NET Core DI verwendet im Allgemeinen Konstruktor-Injektion, um Objekte zu erhalten, etwa nach der Konfiguration der ConfigureServices-Injektion, kann sie auf folgende Weise erhalten werden:


Was, wenn du das Injektionsobjekt manuell bekommst?

Der erste Weg, es zu bekommen(Manchmal bekommt man es nicht,Nicht empfohlen):


Der zweite Weg, es zu bekommenEmpfohlene Verwendung):

Hinweis: Es sollte beachtet werden, dass die Nutzung von ServiceLocator.Instance.GetService<T>(); ,Nur Objekte, die von AddTransient und AddSingleton injiziert werden, können abgerufen werden, und kann das injizierte Objekt von AddScoped (einzigartig im Anforderungslebenszyklus) nicht erhalten, nicht weil es nicht abgerufen werden kann, sondern weil das erworbene Objekt nicht vom Konstruktor erhalten wird, das heißt, das erworbene Objekt nicht geteilt wird und das Nutzungsszenario wie IUnitOfWork ist.

Wie bekommt man also manuell die Injektionsobjekte während des Anforderungslebenszyklus? So läuft das:


oder

Die IHttpContextAccessor-Schnittstelle befindet sich unter dem Paket Microsoft.AspNetCore.Http.AbstractionsNuget.




Vorhergehend:HttpClient POST direkt zum Senden von Byte-Byte-(gzip)-Kompressionsanfragen
Nächster:Der Unterschied zwischen dem Roslyn MSBuild-Compiler
Veröffentlicht am 22.9.2021, 20:43:14 |
Lerne zu lernen...
Veröffentlicht am 22.9.2021, 20:55:17 |
Lerne zu lernen...
Veröffentlicht am 17.6.2022, 16:05:39 |
Lerne, wie man es benutzt
 Vermieter| Veröffentlicht am 30.12.2024, 17:09:09 |
Die Konsole injiziert die IHttpContextAccessor-Schnittstelle:



.NET/C#-Konsolendienste sind bei der Consul Service Discovery registriert
https://www.itsvse.com/thread-10899-1-1.html
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