ホームページ >バックエンド開発 >C#.Net チュートリアル >AddSingleton、AddScoped、Add Transient C# Asp.net Core とは何ですか?

AddSingleton、AddScoped、Add Transient C# Asp.net Core とは何ですか?

WBOY
WBOY転載
2023-09-05 22:21:171623ブラウズ

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

Startup.cs に依存関係を登録するには 3 つの方法があります。つまり。 AddSingleton、AddScoped、AddTransient。

シングルトンの追加

型をシングルトンとして登録すると、プロセス全体で使用できるインスタンスは 1 つだけになります。 アプリケーションやあらゆるリクエストに対応します。

これは、静的オブジェクトを持つことに似ています。

インスタンスは最初のリクエストに対して作成され、同じものを最初のリクエスト全体で使用できます。 アプリケーションとその後のすべてのリクエスト。

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

スコープの追加

型をスコープとして登録すると、全体にわたってインスタンスが使用されます。 ご要望に応じてお申込みください。新たな依頼が来ると、 新しいインスタンスが作成されました。スコープを追加すると、オブジェクトごとに 1 つのオブジェクトが使用可能になることが指定されます。 聞く。

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

トランジェントの追加

型をトランジェントとして登録すると、毎回新しいインスタンスが作成されます。過渡現象 サービス/コントローラーごと、リクエストごとに新しいインスタンスを作成します。 ユーザーごとに。

public void ConfigureServices(IServiceCollection services){
   services.AddTransient<ILog,Logger>()
}

#パラメータインスタンス user.
シングルトンの追加 スコープ付きの追加 一時的な追加
リクエストごと/すべての
リクエストごとに 1 つ。 ######違う 毎回。 #破棄済みアプリケーションの終了リクエストが終了しましたリクエストが終了しました 使用済みinシングルトンの場合 実装が必要です。 は異なります 各ユーザーの行動。 軽量、 各ユーザーの行動。 軽量かつ ステートレスなサービス。

以上がAddSingleton、AddScoped、Add Transient C# Asp.net Core とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。