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

眺める: 20690|答える: 1

[出典] autofacインスタンス作成手法の概要

[リンクをコピー]
掲載地 2018/01/05 21:25:48 | | |

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 のみ利用可能です。
公式ドキュメントには次のように説明されています:単一のHTTPリクエストの文脈内でコンポーネントのインスタンスを1つ共有すること。
公式ドキュメントリンク:http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html




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

Mail To:help@itsvse.com