1

組み込みのFunqIoCコンテナーを使用してServiceStackAPIをセットアップし、リポジトリーを解決しました。ただし、apiメソッドを呼び出すと、次の例外が発生します。

System.Boolean型の必要な依存関係を解決できませんでした。

前回System.Booleanをチェックしたとき、解決は必要ありませんでした。次のように、リポジトリをAppHostConfigureに登録しました。

container.RegisterAutoWiredAs<OrganisationRepository, IOrganisationRepository>().ReusedWithin(ReuseScope.Request);

ServiceStackまたはFunqを使用するのはこれが初めてです。私は何か間違ったことをしていますか?これを回避する方法はありますか?

4

1 に答える 1

2

を使用する場合container.RegisterAutoWiredAs<T,IT>()、Funqは慣例によりリポジトリを自動配線します。つまり、最大のコンストラクタを使用し、リポジトリの各パブリックプロパティの依存関係を解決して挿入します。

代替の特定のコンストラクターを使用する場合、または特定のプロパティのみを自動配線するには、次のコマンドを使用して登録を手動で指定する必要があります。

container.Register<IOrganisationRepository>(c => 
    new OrganisationRepository(c.Resolve<IFoo>()) { Bar = c.Resolve<IBar>() } ); 

注:このようなIOCの問題が発生した場合は、クラスのスケルトンも含める必要があります。

于 2013-01-02T05:33:54.440 に答える