「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
参考
詳細 †
構成 †
参考
※ 詳しくはコチラを参照。
対象 †
- ConfigureServices?メソッドでの登録メソッドによりライフサイクルが変わってくる。
- AddSigleton? : アプリケーションにて共有のシングルトンインスタンスを作成する。
- AddScoped? : Webリクエストごとに新しいインスタンスを作成する。
- AddTransient? : Dependencyが要求されるごとに新しいインスタンスを作成する。
- Configureメソッドには、ConfigureServices?メソッドで登録したサービスが、
IApplicationBuilder?や引数を経由で渡されるので、これを使用して構成する。
Controller †
- Constructorインジェクション
MVCのControllerは、constructorを使用しサービスを挿入する。
- Actionインジェクション
Action methodのパラメタとしてサービスを挿入することもできる。
View †
- @inject [サービスの型] [変数名]
- Modelプロパティ風(@model ViewModel?のクラス型)
に書く。
コンテナを変更する。 †
ASP.NET Coreでは、
- 既定では、Microsoft.Extensions.DependencyInjection?を使用する。
- ConfigureServices? メソッドが、IServiceProvider? を返すようにシグネチャを変更する方法で、
Autofac (Autofac.Extensions.DependencyInjection?)など、別のコンテナに切替可能らしい。
参考 †
Microsoft Docs †
Qiita †
時が癒す †
ASP.NET Core MVC のDIコンテナを利用する
Autofac †
Tags: :プログラミング, :.NET開発, :.NET Core, :ASP.NET, :ASP.NET MVC