この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
.Net/C#
›
IoC効率的なオートファック
眺める:
21356
|
答える:
1
[出典]
IoC効率的なオートファック
[リンクをコピー]
クズども
掲載地 2016/09/13 13:14:12
|
|
|
IoC ~ 効率的なオートファック
Microsoftが好んでいるIoCコンテナは spring.net unityではなくAutofacであることは間違いありません。その効率性とシンプルさからです。そのため、Microsoft主導の果樹園プロジェクトにも使われています
オートファックの使用例を示しています。
ログインが見えます。
ここでこう呼びましょう:
ログインが見えます。
次の講義では、オーチャードプロジェクトの特定のプロジェクトにおけるAutofacの使用についてお話しします。
次にそのライフサイクルを見てみましょう
1、インスタンス依存関係
各依存関係や呼び出しごとに新しいユニークなインスタンスを作成します。 これはインスタンス作成のデフォルト方法でもあります。
公式ドキュメントにはこう説明されています:すべての依存コンポーネントまたはResolve()への呼び出しが新しく一意のインスタンス(デフォルト)を割り当てられるようにコンポーネントを設定すること。
2、インスタンスパーライフタイムスコープ
ライフサイクルドメインでは、各依存関係や呼び出しが単一の共有インスタンスを作成し、異なるライフサイクルドメインごとにインスタンスは一意であり共有されません。
公式ドキュメントによると:単一のILifetimeScope内のすべての依存コンポーネントやResolve()呼び出しが同じ共有インスタンスを持つようにコンポーネントを設定すること。 異なるライフタイムスコープの従属コンポーネントは異なるインスタンスを持ちます。
3、InstancePerMatchingLifetimeScope
特定されたライフサイクルドメインでは、各依存関係や呼び出しが単一の共有インスタンスを作成します。 親ドメインのインスタンスは、識別されたライフサイクルドメインの子識別ドメインで共有できます。 継承階層全体に特定されたライフサイクルドメインが見つからない場合、例外がスローされます:DependencyResolutionException。
公式ドキュメントにはこう説明されています:ILifetimeScope内の任意のタグ値を持つ依存コンポーネントやResolve()呼び出しが同じ共有インスタンスを持つようにコンポーネントを設定すること。 タグ付けされたスコープの子であるライフタイムスコープ内の依存コンポーネントは、親のインスタンスを共有します。 階層に適切にタグ付けされたスコープが見つからない場合は、DependencyResolutionExceptionが投げられます。
4、インスタンスパーオード
ライフサイクルドメインに所有されるインスタンスによって作成されたインスタンスのライフサイクルでは、各依存コンポーネントやResolve()メソッドへの呼び出しが単一の共有インスタンスを作成し、子ライフサイクルドメインは親ライフサイクルドメインのインスタンスを共有します。 継承階層に子インスタンスを含む適切なライフサイクルドメインが見つからない場合、例外がスローされます:DependencyResolutionException。
公式文書には次のように説明されています:
所有されたインスタンスによって作成されたILifetimeScope内のすべての依存コンポーネントやResolve()呼び出しが同じ共有インスタンスを受け取るようにコンポーネントを設定してください。 所有されたインスタンススコープの子であるライフタイムスコープの従属コンポーネントは、親のインスタンスを共有します。 階層構造に適切な所有インスタンススコープが見つからない場合は、DependencyResolutionExceptionがスローされます。
5、SingleInstance
コンポーネントに依存したりResolve()メソッドを呼び出すたびに、同じ共有インスタンスが返ってきます。 実際には単一モデルです。
公式ドキュメントにはこう説明されています:すべての依存コンポーネントまたはResolve()への呼び出しが同じ共有インスタンスを受け取るようにコンポーネントを設定すること。
6、InstancePerHttpRequest
Httpリクエストの文脈では、コンポーネントのインスタンスを共有します。 MVC開発 asp.net のみ利用可能です。
先の:
MVCのActionResult
次に:
ConcurrentDictionary vs. Dictionary+Locking - Dennis Gao
関連記事
•
ASP.NET Core(32)はKeyedServicesの鍵サービスの注入に依存しています
•
.NET/C# 依存注入サービス登録 Scrutor ツール
•
Angular 18シリーズ(28)インジェクショントークンの簡単な紹介
•
ASP.NET CoreはAutofacを使ってAOP傍受を実装しています
•
ASP.NET Core ILogger ログの利用チュートリアル
•
ASP.NET CoreはAutofacを使ってIOC注入を実装しています
•
ASP.NET Core依存注入は付属するIOCコンテナを使用します
•
注入されたオートファックの使用に依存します
クズども
地主
|
掲載地 2016/09/13 13:15:50
|
Nugetの設置方法:
Autofac をインストールする
Install-Package Autofac
閲覧したセクション
レジャー灌漑
安全な攻防
HTML/CSS/JavaScript
フロントエンドフレーム
発表情報
技術チャット
Node.js
ウェブサイト構築
PHP
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com