Es gibt drei Möglichkeiten, Abhängigkeiten in Startup.cs zu registrieren. dh. AddSingleton, AddScoped und AddTransient.
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>() }
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>() }
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.Entsorgt | App geschlossen | Anfrage beendet | Anfrage beendet |
---|---|---|---|
als Singleton Eine Umsetzung ist erforderlich. | ist anders Verhalten jedes Benutzers. |
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!