Was sind AddSingleton, AddScoped und Add Transient C# Asp.net Core?

WBOY
Freigeben: 2023-09-05 22:21:17
nach vorne
1586 Leute haben es durchsucht

什么是 AddSingleton、AddScoped 和 Add Transient C# Asp.net Core?

Es gibt drei Möglichkeiten, Abhängigkeiten in Startup.cs zu registrieren. dh. AddSingleton, AddScoped und AddTransient.

Singleton hinzufügen

Wenn wir einen Typ als Singleton registrieren, ist während des gesamten Prozesses nur eine Instanz verfügbar. Bewerbung und für jede Anfrage.

Es ähnelt einem statischen Objekt.

Die Instanz wird für die erste Anfrage erstellt und ist überall verfügbar Bewerbung und jede weitere Anfrage.

public void ConfigureServices(IServiceCollection services){
   services.AddSingleton<ILog,Logger>()
}
Nach dem Login kopieren

Scoped hinzufügen

Wenn wir einen Typ als Scoped registrieren, wird durchgehend eine Instanz verwendet Bewerben Sie sich auf Anfrage. Wenn eine neue Anfrage kommt, Neue Instanz erstellt. Durch das Hinzufügen eines Bereichs wird angegeben, dass pro Objekt ein Objekt verfügbar ist fragen.

public void ConfigureServices(IServiceCollection services){
   services.AddScoped<ILog,Logger>()
}
Nach dem Login kopieren

Transient hinzufügen

Wenn wir einen Typ als transient registrieren, wird jedes Mal eine neue Instanz erstellt. Vorübergehend Erstellen Sie neue Instanzen für jeden Dienst/Controller und für jede Anfrage pro Benutzer. +

Benutzer.

Eine pro Anfrage.

anders jedes Mal. Wird verwendet inLeichtes Gewicht, Verhalten jedes Benutzers.
Entsorgt App geschlossen Anfrage beendet Anfrage beendet
als Singleton Eine Umsetzung ist erforderlich. ist anders Verhalten jedes Benutzers.
Leicht und Staatenloser Dienst.

Das obige ist der detaillierte Inhalt vonWas sind AddSingleton, AddScoped und Add Transient C# Asp.net Core?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage