疲労の点まで読んで、グーグルで調べると、私はある程度のガイダンスが必要なように感じます。城ウィンザー3.0、サービスと複数の実装
これは、Castle Windsor 3.0が導入されたことが原因の可能性がありますが、ブログ投稿、SOの質問、その他のドキュメントのほとんどは、廃止予定のコードです。
So:問題がありますか?
MVC3アプリケーションにバックエンドコードを提供するWCFサービスである私のアプリケーションでは、複数のレイヤーがあり、そのうちの1つはファイルアップロードシステム用のウイルススキャンサービスを提供します。 thusly、
クライアントは、複数のスキャンサービスのサポートを求めています自然に私が遵守していると、各スキャンサービスはIScanServiceインタフェースを実装しています:
public interface IScanService
{
void Execute();
ScanResult GetResult();
}
をので、コンストラクタは次のように見えるかもしれWCFサービスに:
public McAfeeFileScanService(IScanService mcAfeeScanService)
{
_scanService = scanService;
}
どのようにして注入されIScanServiceが実装タイプMcAfeeScanService、またはNortonScanServiceまたは他の実装であることを専門にすることができますか?
AFAIK Windsorは、デフォルトでMcAfeeScanServiceタイプであるかどうかに関係なく、最初に登録された実装を提供します。
Windsor 3.0ではDependsOn(Dependency.OnComponenent())が推奨されていませんが、関連するサンプルは見つかりませんでした。また、Typed Factory Facilities 、そしてIHandlerSelectorにはいくらかのガイダンスが必要であると感じています。
ありがとうございます。
はい、これは私が来た結論です。返信のために喝采します。悪いことを答えてください! – M05Pr1mty