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

WBOY
リリース: 2023-09-05 22:21:17
転載
1571 人が閲覧しました

什么是 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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート