NServiceBus Studio - 从事件开始

时间:2012-06-12 14:11:04

标签: nservicebus

我正在关注TekPub上的NSB视频(http://tekpub.com/view/nsb/1)作为NSB的介绍 工作室(很棒的工作顺便说一句)。我可以很好地创建PetShop示例,但现在我 希望创建我自己的系统。在PetShop示例中,该过程开始 使用Sales组件(在FrontEnd端点中)发送一个SubmitOrder 公交车上的命令。创建SubmitOrder命令后,Studio创建了一个 SubmitOrderSender,它是FrontEnd端点中托管的内容。

在我现有的系统中,我有一个可以做一些工作的过程,我想 使用事件启动NSB进程,而不是命令。在Studio中,我创建了一个 新服务(“Foo”)并手动添加了一个新组件(“XxxRecievedSender”)。一世 然后让XxxReceivedSender发布一个事件(“XxxReceived”)。然后我说对了 单击XxxReceived事件,并添加新订户(“通知”)。 Studio创建了Notifications服务并添加了“XxxReceivedProcessor” 订阅了XxxReceivedEvent。

我从视频中注意到的差异是SubmitOrderSender generate有一个ISubmitOrder接口和一个Send(SubmitOrder)方法。自从我 手动创建我的XxxReceivedSender,我没有那些,所以我添加了它们 (发布而不是发送除外)。然后,在我的mvc前端,我添加了 IXxxReceivedSender到家庭控制器,然后执行Sender.Push(新的 XxxReceived())。然后我得到了我需要添加MsmqSubscriptionStorage()的错误 到.configure()然后更多错误,没有创建队列。一旦 我修复了这两件事,app运行,但是当事件发布时, 未收到XxxReceivedProcessor。

我在想我在这里做错了什么,但我无法弄清楚它是什么 是。有什么建议?由于Studio是一个全新的功能,我会非常感兴趣 以正确的方式使用它。

1 个答案:

答案 0 :(得分:0)

尝试查看订阅端点中的UnicastBusConfig,看看是否有一个条目告诉NServiceBus在MVC端点订阅您的事件。

如果已经处理,则自行启动订阅者,并看到消息到达您的发布者。如果是,则启动发布者并查看消息是否已处理,并且错误队列中没有消息。