ASP.NET Core は、コンストラクターまたはメソッドを通じて依存クラスのオブジェクトを挿入します。 組み込みの IoC コンテナを使用します。
組み込みコンテナーは IServiceProvider 実装によって表されます コンストラクターのインジェクションはデフォルトでサポートされています。組み込みIoCで管理される型(クラス) コンテナはサービスと呼ばれます。
IoC コンテナがアプリケーション サービスを自動的に挿入するには、まず次のことを行います。 これらは IoC コンテナに登録する必要があります。
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 サイトの他の関連記事を参照してください。