我正在尝试发布一条消息,如下所示
_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”。或者,如果您不想实现接口,您可以配置“Unobtrusive Mode Messages”并使用约定来配置消息的映射方式。
该消息确实实现了 IEvent,如下所示
[Serializable]
public class BatchCompleted : IEvent
{
public int BatchId{ get; set; }
}
我正在使用以下代码配置 NSB
Configure.With(MyAssembly)
消息处理程序位于程序集 MyAssembly 中,消息位于 MyMessagesAssembly 中。
我究竟做错了什么?