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>() }
シングルトンの追加 | スコープ付きの追加 | 一時的な追加 | |
---|---|---|---|
リクエストごと/すべての |
以上がAddSingleton、AddScoped、Add Transient C# Asp.net Core とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。