特定の(文字列ベースの)MessageTypeに基づいて、型付きメッセージとxmlベースのメッセージの両方を処理できるシステムを設計しています。理想的には、これらのメッセージを処理するために、次のような一連のプロバイダーを使用したいと思います。
[MessageType("CreateWorkOrder")]
public class CreateWorkOrderMessageProcessingProvider: IMessageProcessingProvider
{
...
次に、Windsor内で「CreateWorkOrder」という名前で解決します。次のバリエーションを使用して(MessageType属性を使用して)名前で登録できるかどうか疑問に思っています。
container.Register(Classes.FromAssemblyContaining<IMessageProcessingProvider>().Where(t => Attribute.IsDefined(t, typeof(MessageTypeAttribute))));
または、カスタムリゾルバーを提供する必要がありますか?ここで実装するためのより良いパターンがあれば、私はそれを聞いてうれしいです。