目次
Example
ホームページ バックエンド開発 C#.Net チュートリアル サービスの依存関係をコントローラー C# Asp.net Core に注入するにはどうすればよいですか?

サービスの依存関係をコントローラー C# Asp.net Core に注入するにはどうすればよいですか?

Sep 10, 2023 pm 12:49 PM

我们如何将服务依赖注入到控制器C# Asp.net Core中?

ASP.NET Core は、コンストラクターまたはメソッドを通じて依存クラスのオブジェクトを挿入します。 組み込みの IoC コンテナを使用します。

組み込みコンテナーは IServiceProvider 実装によって表されます コンストラクターのインジェクションはデフォルトでサポートされています。組み込みIoCで管理される型(クラス) コンテナはサービスと呼ばれます。

IoC コンテナがアプリケーション サービスを自動的に挿入するには、まず次のことを行います。 これらは IoC コンテナに登録する必要があります。

Example

public interface ILog{
   void info(string str);
}
class MyConsoleLogger : ILog{
   public void info(string str){
      Console.WriteLine(str);
   }
}
ログイン後にコピー

ASP.NET Core を使用すると、アプリケーション サービスを IoC コンテナーに登録できます。 Startup クラスの ConfigureServices メソッド内。サービスメソッドを構成する アプリケーションを登録するための IServiceCollection 型のパラメーターが含まれます services

次に示すように、ConfigureServices() メソッドの IoC コンテナに ILog を登録します。

public class Startup{
   public void ConfigureServices(IServiceCollection services){
      services.AddSingleton<ILog, MyConsoleLogger>();
   }
}
ログイン後にコピー

IServiceCollection インスタンスの Add() メソッドは、IoC にサービスを登録するために使用されます。 コンテナ

サービス タイプとして ILog を指定し、そのインスタンスとして MyConsoleLogger を指定しました。 これにより、ILog サービスがシングルトンとして登録されます これで、IoC コンテナは MyConsoleLogger クラスのシングルトン オブジェクトを作成し、 ILog をクラスのコンストラクターにコンストラクターとして含めるか、クラスのコンストラクターに注入するか。 アプリケーション全体のメソッドパラメータ。

以上がサービスの依存関係をコントローラー C# Asp.net Core に注入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

次のレベルのCコンパイラを追加する方法 次のレベルのCコンパイラを追加する方法 Mar 03, 2025 pm 05:44 PM

次のレベルのCコンパイラを追加する方法

C言語のnullの代替案は何ですか C言語のnullの代替案は何ですか Mar 03, 2025 pm 05:37 PM

C言語のnullの代替案は何ですか

C言語コンパイラによるコードをコピーする方法 C言語コンパイラによるコードをコピーする方法 Mar 03, 2025 pm 05:43 PM

C言語コンパイラによるコードをコピーする方法

どの言語コンパイラが優れていますか? どの言語コンパイラが優れていますか? Mar 03, 2025 pm 05:39 PM

どの言語コンパイラが優れていますか?

C言語コンパイラのWebバージョンは何ですか? C言語コンパイラのWebバージョンは何ですか? Mar 03, 2025 pm 05:42 PM

C言語コンパイラのWebバージョンは何ですか?

nullは、C言語での最新のプログラミングではまだ重要ですか? nullは、C言語での最新のプログラミングではまだ重要ですか? Mar 03, 2025 pm 05:35 PM

nullは、C言語での最新のプログラミングではまだ重要ですか?

c言語オンラインプログラミングウェブサイトc言語コンパイラ公式ウェブサイトの要約 c言語オンラインプログラミングウェブサイトc言語コンパイラ公式ウェブサイトの要約 Mar 03, 2025 pm 05:41 PM

c言語オンラインプログラミングウェブサイトc言語コンパイラ公式ウェブサイトの要約

c言語コンパイラインストールチュートリアル(コンピューターバージョン) c言語コンパイラインストールチュートリアル(コンピューターバージョン) Mar 03, 2025 pm 05:41 PM

c言語コンパイラインストールチュートリアル(コンピューターバージョン)

See all articles