1

私はアプリケーションの開始時に2つのインターフェースを次のように登録します:-

container.Register(Component.For(typeof(IEntityIndexController)).ImplementedBy(typeof(SnippetController)).LifeStyle.Transient);
container.Register(Component.For(typeof(ISnippetController)).ImplementedBy(typeof(SnippetController)).LifeStyle.Transient);

次に、ここで 2 番目のインターフェイス (ISnippetController) を使用するオブジェクトで IoC.Resolve を実行しようとすると、次の例外がスローされます。

コンポーネント 'MyApp.Admin.Presenters.SnippetPresenter' は、満たすべき依存関係があるため作成できません。MyApp.Admin.Presenters.SnippetPresenter は次の依存関係を待機しています: サービス: - 登録されていない MyApp.Admin.Controllers.ISnippetController。

登録の順序を入れ替えると、IEntityIndexController が見つからないというエラーが表示されます。そのため、クラスの最初の登録のみを取得し、同じ具象クラスにマップされるそれ以降のインターフェイスは無視されるようです。

ここで私が見逃している明らかなものはありますか?(.net 3.5、windsor RC3を使用したps im)

4

2 に答える 2

4

別の構文 ( AddComponent<>) で登録しようとしましたか?

最新のトランク バージョンに更新してみて、問題が解決するかどうかを確認してください。私にはバグのように見えます。発生しない場合は、バグを示すテストを作成し、ここに送信します

于 2009-01-14T07:16:29.847 に答える
2

最新のトランク (1015) に更新し、転送タイプを使用して問題を修正しました。:-)

于 2009-01-15T15:14:15.450 に答える