私は、社内で配布され、さまざまなアプリケーションで使用されるライブラリを開発しています。このライブラリは、Webコンテキストまたはコンソールアプリケーション内に配備できるという点で、プラットフォームに依存しないものでなければなりません。このフレームワークを使用するアプリケーションのコンテキストに応じて、HTTPリクエストごとまたはスレッドごとにオブジェクトを登録したいと思います。 StructureMapでは、ハイブリッドライフタイムを使用してこれを行うことができます。基本的に、HttpContextが存在する場合、そのオブジェクトはそのスコープになります。それ以外の場合、ThreadLocalStorageはスレッドごとに使用されます。分散ライブラリまたは消費アプリケーションに追加の構成は必要ありません。これはAutofacを使って可能ですか?開発者のスキルレベルの幅広い多様性を考慮すると、私たちの目標は、消費者のための特別な設定を最小化/排除することです。スレッド単位または要求ごとのライフタイムスコープを自動的に選択
私は登録がInstancePerLifetimeScope寿命を使用して、コンテキストに依存しないことができることを理解したが、その後のかかるアプリケーションは、HTTPリクエストにInstancePerLifetimeScope登録をバインドするために、ASP.NET/WCF/MVC統合バイナリを消費するために必要とされています。または、スレッドごとのスコープでは、消費コードはlifetime scope per threadを作成する責任があります。
提案がありますか?
Autofacはカスタマイズされたライフタイムをサポートしていますが、StructureMapの「Hybrid」ライフタイムをエミュレートできませんでしたか? – neontapir