この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 26892|答える: 0

[.NET Core] ASP.NET CoreはAutofacを使ってIOC注入を実装しています

[リンクをコピー]
掲載地 2019/05/07 16:32:23 | | | |
ASP.NET Core依存注入は付属するIOCコンテナを使用します
https://www.itsvse.com/thread-7562-1-1.html
(出典:Architect_Programmer)

ASP.NET CoreはAutofacを使ってIOC注入を実装しています
https://www.itsvse.com/thread-7563-1-1.html
(出典:Architect_Programmer)

ASP.NET CoreはAutofacを使ってAOP傍受を実装しています
https://www.itsvse.com/thread-7566-1-1.html
(出典:Architect_Programmer)

ASP.NET Coreに付属しているIOCコンテナは軽量で、多くの機能がなく基本的な機能のみです。

この記事では、Autofacを使ってコンストラクタと属性注入の両方について説明します。

AutofacはMicrosoft .NET 4.5、Silverlight 5、Windowsストアアプリ、Windows Phone 8アプリ向けの素晴らしいIoCコンテナです。 クラス間の依存関係を管理できるため、スケールや複雑さが増すにつれてアプリケーションを簡単に変更できます。 .を実装します。

プロジェクトの.NET Coreバージョンは2.1.301です。

Autofac.Extensions.DependencyInjectionをインストールしてください

以下のコマンドでnugetでインストールします:



私たちは3つのインターフェースと3つの実装クラスを気軽に作成しました。以下のように。



コントローラ・コンストラクタ注入

まず、StartupでConfigureServicesのコードを次のように修正しましょう。

注:ConfigureServicesの返還値がIServiceProviderに変更されました。

コントローラーコード:

以下のようにプロジェクトを実行してください:



コントローラ Autofac 属性注入

起動時のConfigureServicesメソッドを以下のように修正します:

コントローラーコード:

以下のようにプロジェクトを実行してください:



注意すべきポイント:

  • サービス。 AddMvc()。 SetCompatibilityVersion(CompatibilityVersion.Version_2_1)。AddControllersAsServices();
  • 公衆ITestService1 _testService1 { get; セット; }


サービスインターフェースを最初にプライベートに設定しているため、注入は常にnullです。

リソース:ハイパーリンクのログインが見えます。




先の:ASP.NET Core依存注入は付属するIOCコンテナを使用します
次に:ASP.NET Core ILogger ログの利用チュートリアル
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com