私は抽象基本クラスSearch
を持っています。抽象クラスIndexedRepositorySearch
はSearch
に由来します。抽象クラスFacetSearch
はIndexedRepositorySearch
に由来します。具体的なクラスIngredientFacetSearch
およびRecipeFacetSearch
は、FacetSearch
の子孫です。我々はそれがコンテナからは何も解決しませんFluentインタフェースを使用してCastle Windsorのベースからすべてのクラスを登録
_container.ResolveAll<FacetSearch>(new { searchInput = input, searchResults });
を呼び出すと
AllTypes.FromAssembly(assembly)
.BasedOn<Search.Search>()
.WithServiceBase()
.WithServiceSelf()
.LifestyleTransient()
.AllowMultipleMatches()
:
現在、我々は次のように城ウィンザーでSearch
から下降し、すべてを登録しています。すべてが登録され、デバッガでAllComponents
をチェックした後にコンテナにブレークポイントを置くと、IngredientFacetSearch
とRecipeFacetSearch
の両方が表示されますが、それぞれに2つのサービスが関連付けられています:自己とSearch
、ベース。 .WithServiceBase()
と.WithServiceSelf()
で登録されているとすれば、どれが期待できますか?
したがって、ResolveAll<FacetSearch>()
を呼び出すことで問題を解決する方法は?
私はそれが何かシンプルだと確信していますが、私がそれを見つけることができれば私は気が狂っています。
ありがとうございます。