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

眺める: 20328|答える: 0

[WebAPI] MVC5およびwebAPIでは、Autofac依存注入が使用されています

[リンクをコピー]
掲載地 2017/11/29 14:35:33 | | | |
多くの書籍では依存注入や制御反転などの概念が言及されており、いずれも緩やかに結合された層、コンポーネント、クラス目的を達成することを目的としています。

Repositoryクラスを使ってコントローラーとモデルの直接的な接続を分離することが一般的です。 リポジトリクラスとコントローラー間の密接な接続を切断するためには、通常リポジトリクラスが直接定義・インスタンス化するのではなく、コントローラの構築メソッドを通じて指定されたリポジトリに注入されます。



人気のIoCコンテナにはNinject、Autofac、Unityがあります。

ここではAutofac injection MVC5とWebapi2の使い方を簡単に説明します。

1. nupkgを使ってAutofac、Autofac.Mvc5、Autofac.Webapi2を参照してください

PM> install-package autofac -version 3.5.0

PM> install-package autofac.mvc5

PM> install-package autofac.webapi2(注:プロジェクトでwebapi2を使用している場合、ここではwebapiではなくwebapi2である必要があります。そうでなければ「Rewrite member Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()」が実行時に表示されます) 相続のセキュリティ規則に違反した。 上書きされたメソッドのセキュリティアクセス性は、書き換えられたメソッドのセキュリティアクセシビリティと一致しなければなりません。 違う。 )



2. コンポーネントを登録する。

3. 後で使うためのコンテナを作成する。

var container=ビルダー。 Build();
4. コンテナから生涯範囲を作成する。

5. このライフタイムスコープを使ってコンポーネントのインスタンスを解析します。

設定。 DependencyResolver = new AutofacWebApiDependencyResolver(container); APIコンテナを登録するには、HttpConfiguration オブジェクトを使用する必要があります
DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); MVCコンテナを登録してください
6. WebApiConfigクラスのRegisterメソッドで、上記のステップコードを呼び出してHttpConfigurationオブジェクトを渡します。



オートファックの利点は、設定を必要とせずに一度にデカップリングできることです。 AutoFACはMVCにおける「コンベンションは構成よりも大きい」という概念をよりよく実装しています。





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

Mail To:help@itsvse.com