私はNServiceBus:(メッセージ)のためのメタデータが見つかりませんでした
_bus.Publish(new BatchCompleted { BatchId = batch.Id});
下に示すようにメッセージを公開しBatchCompletedHandlerでそれを処理しようとしています:私がしようとするたびに
public class BatchCompletedHandler: IHandleMessages<BatchCompleted>
{
public void Handle(BatchCompleted message)
{
Do Some Stuff...
}
}
と公開私は次のSystem.Exceptionを取得するメッセージ:
'MyAssembly.BatchCompleted'のメタデータが見つかりませんでした。メッセージは、 'IMessage'、 'IEvent'、または 'ICommand'のいずれかを実装する必要があります。また、インターフェースを実装したくない場合は、「目立たないモードのメッセージ」を設定して、メッセージのマッピング方法を設定することができます。
[Serializable] public class BatchCompleted : IEvent { public int BatchId{ get; set; } }
以下のように
メッセージは、私はメッセージハンドラがアセンブリMyAssemblyであるとのメッセージがあり、次のコード
Configure.With(MyAssembly)
を使用してNSBを設定していますIEventを実装しませんMyMessagesAssemblyにあります。
私は間違っていますか?
設定を投稿できますか? UnicastBusConfig、メッセージマッピングは適切に設定されていますか?あなたのメッセージアセンブリは同じ.netバージョンを使用していますか?つまり、.net 4.0とあなたのメッセージ.net 4.5を使用してあなたのハンドラですか? –
ありがとうIndu、ポインタです。それは問題を引き起こした構成でした! –