問題タブ [autofac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
autofac - Autofac セッション スコープ
過去に Castle Windsor を使用していた Web アプリケーションでの Autofac の使用を調査しています。
私が Autofac で本当に気に入っているのは、Windsor で DependancyResolvers などを作成するのとは対照的に、ラムダ式を介して動的コンポーネント構築を表現できることです。
私が持っている 1 つのシナリオは、特定のコンポーネントを ASP.NET セッション レベル スコープで登録することです。Windsor では、新しい LifestyleManager を作成/ソースしますが、Autofac では次のように思いつきました。
ある時点で、これを拡張メソッドに変えることができるかもしれません。HttpContext.Current.Session が null の場合、Web アプリでのみ使用する必要があるため、この実装が爆撃することを受け入れます。
質問は:
Autofac でのこのような登録のベスト プラクティスは何ですか。ネストされたコンテナーなどの使用について多くの言及を見てきましたが、具体的な例はありません。上記のアプローチの何が問題なのかを理解したいと思っています (私が考えることができるのは、自動破棄のものだけです)。
ありがとう。
c# - Autofac:タイプのすべてのインスタンスを解決します
以下の登録を前提としています
タイプIのすべてのインスタンスをIEnumerable
(配列またはコレクションは関係ありません)として解決しようとしています。
ウィンザーでは、私は次のように書いていただろう。
WindsorからAutofac1.4.4.561に移行していますが、同等の構文が表示されません。
.net - Autofacには、*オプションの* Xml構成のベストプラクティスがありますか?
背景:ライブラリを他の開発者に配布したかった(SDKまたはツールキットに沿っていくつかの内部Webサービスを抽象化したもの)。基盤となるサービスのさまざまなバージョンを注入するために、主にスタブのためにAutofacを使用しています。このアセンブリを、IoCを理解しているユーザーと理解していないユーザーの幅広い開発者に配布したいと思います。
精通した開発者であれば、注入する独自の実装を作成できます。それ以外の場合、開発者は構成なしでアセンブリを使用でき、IoCが内部で発生していることを認識または気にすることはありません。
楽しいこと: AutofacにXml構成を提供することも、プログラムでコンポーネントを構成することもできます(後者が推奨される方法です)。この場合、実行時まで何が構成されているかわからないため、Xml構成が必要になる可能性があります。AutofacにXml構成が存在する場合はそれを使用させる方法はありますか?それ以外の場合、何も提供されていない場合は無視しますか?
注:特定のセクション(「autofac」)の構成を調べることで、これを手動で実装できます。そこにない場合は、電話しないでください
構成を手動で検査するよりも、これを行うためのより良い方法はありますか(Autofac内に隠された魔法のようなものが望ましいです。これは、要求されたすべてのことを実行できるようです!)
dependency-injection - 実行時に指定されたオープンジェネリックとタイプのAutofac
ドキュメントには、Autofacがオープンジェネリックをサポートしていると記載されており、次のような基本的なケースで登録して解決することができます。
登録:
解決:
上記のコードは問題なく機能します。ただし、実行時までIFlattenerに提供されるタイプがわからないと仮定して、次のようなことを行います。
AutoFacでこれは可能ですか?StructureMapを使用して、次のアイデアからアイデアを得ました。
http://structuremap.sourceforge.net/Generics.htm
私はこの記事で概説されているのと同じ目標を達成しようとしています。
autofac - Autofac コンポーネントの登録/解決のバグ?
問題があるようです - むしろ予想外です。だから私は何かばかげた/間違ったことをしているかもしれないと思います.
2 つのコンテナー スコープのサービスを次のように登録します。
今解決しようとすると
私は同じインスタンスを取得します。最初の呼び出しが最初のインスタンスを返し、2 番目の呼び出しが 2 番目のインスタンスを返すことを期待します。どうしてこうなってしまうのでしょうか?
ここにアクティブな Autofac の専門家が何人かいることを願っています。これを迅速に修正するための助けをいただければ幸いです。
皆さんありがとう!
inversion-of-control - autofacコンテナのセットアップを管理する
私のチームメンバーの1人が、私たちのサービスの1つでautofacを使用することに決めました。それを試してみたかったので、私たちはそれに固執しました。
しばらく経ち、コンテナのセットアップ方法が大きくなりました!とても大きいので問題があります。
それを分割しても、私たちが探していた結果は得られませんでした。たぶん私たちはそれを間違って使用しているだけです。
だから私の質問は:コンテナのセットアップをどのように管理できますか?XMLにダンプできますか、それとも他のベストプラクティスはありますか?
inversion-of-control - AutoFac 自動配線規則
StructureMap には、スキャン時に規則を適用する機能があります。したがって、明示的な登録なしで IFoo => Foo です。
AutoFacで利用できる類似のものはありますか? 周りを見回しても、役立つものは何も見つかりません。
ありがとう、
asp.net-mvc - ASP.NET (MVC) 内の Autofac を使用した NHibernate: ITransaction
Webアプリケーション内でAutofacを使用してNHibernateトランザクションを管理するための最良のアプローチは何ですか?
セッションへの私のアプローチは
については、Google Code で例ITransaction
を見つけましたが、ロールバックするかどうかを決定する際に依存しています。HttpContext.Current.Error
より良い解決策はありますか?また、NHibernate トランザクションにはどのようなスコープが必要ですか?
asp.net-mvc - カスタム ViewPage への依存関係の挿入で奇妙なエラーが発生する
カスタム ViewPage (ModelViewPage、MvcContrib から) に何かを挿入しようとしています。
私の Autofac 登録は次のようになります。
ビューにアクセスしようとすると、次のエラーが表示されます。
私は無知でしたが、App_Web_edit.aspx.b2d4184a.thgwih90.0.cs を見て、これを見つけました:
もちろん、生成されたクラス views_skadeanmälan_edit_aspx は私の UKFS.Web.Views.ValidatedModelViewPage から継承され、デフォルトの構成でインスタンス化しようとすると..解決できますか?
c# - デリゲート ファクトリを実装するにはどうすればよいですか?
Autofacのドキュメントには、デリゲート ファクトリを自動的に生成する機能を説明する興味深いページがあります。また、Autofac を使用せずに手書きで同様の結果を得ることができることも強く示唆しています。
Unity を IoC に使用していますが、他のオブジェクトを作成する必要があるオブジェクトにコンテナーを渡すのを避けたいのですが、Autofac なしでデリゲート ファクトリを作成するにはどうすればよいでしょうか?