CastleWindsor を使用して作成したい SqlWorkflowInstanceStore オブジェクトがあります。SqlWorkflowInstanceStore は、接続文字列のコンストラクター パラメーターを受け取ります。接続文字列は app.config にあります。
CastleWindsor を使用しない場合、これは機能します。
InstanceStore persistanceStoreX = new SqlWorkflowInstanceStore(ConfigManager.Instance.GetSQLConnectionString());
私はCastleWindsorでこれらのスニペットを試しました:
WindsorContainer.Register(Component.For<InstanceStore>().ImplementedBy<SqlWorkflowInstanceStore>().DependsOn(Property.ForKey("InstanceStore").Eq(ConfigManager.Instance.GetSQLConnectionString())));
と
var connString = ConfigManager.Instance.GetSQLConnectionString();
WindsorContainer.Register(Component.For<InstanceStore>().ImplementedBy<SqlWorkflowInstanceStore>().DependsOn(new { InstanceStore = connString }));
これで解決した場合:
_persistanceStore = _iodManager.WindsorContainer.Resolve<InstanceStore>();
有効なコンテナを取得しましたが、ConnectionString フィールドが null です。
SqlWorkflowInstanceStore を初期化する正しい方法は何ですか?
InstenceStore は SqlWorkflowInstanceStore の抽象クラス ベースです ConfigManager.Instance.GetSQLConnectionString() はシングルトン インスタンスです