問題タブ [autofac-module]
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.
c# - 動的に登録されたコンポーネントにモジュール プロパティを挿入する
autofac json 構成を使用してモジュールを登録する場合、プロパティやパラメーターを渡すことができます。
ModuleProps
登録したばかりのタイプに渡す方法はありますか?
c# - 解決時にモジュール固有の登録を使用しますか?
提供するサービスを登録する 2 つの異なるモジュール (Autofac.Module として実装) を使用するアプリケーションがあります。それぞれに、異なる方法で同じデータを生成するハードウェア デバイス用のアダプターがあります。
そのモジュールをメイン アプリケーションに登録すると、正常に動作し、依存関係が正しく解決されます。
私のメイン アプリケーションでは、アプリケーション固有の設定を読み書きするためにも使用します。そこに別の設定ファイルIConfigSource
を登録すると、問題が明らかになります。IConfigSource
解決時に、2 番目の登録が有効になりModuleA
、間違った構成ファイル リーダーを受け取ります。
解決策を探して、次のように登録タイプを変更してこれを回避しようとしました。
public interface IModuleAConfigSource : IConfigSource {}
と
builder.Register(c => new IniConfigSource("moduleA.ini")).As<IModuleAConfigSource>();
しかし、それは機能しません。Autofac は解決時に、タイプIniconfigSource
がインターフェイス IModuleAConfigSource に割り当てられないことを訴えます。アプリケーションの起動時に単一の関数で登録を行うコンストラクター インジェクションを使用します。
ここでの良い戦略は何でしょうか? これを解決するために具象型を使用できることはわかっていますが、登録をモジュールローカルに保つ方法はありますか?