我遇到了这个链接,显示了如何利用Servicecontrol事件。 http://docs.particular.net/servicecontrol/contracts#servicecontroleventsxmlconfig-v3_x-5_x
在实现这一点时,只需考虑持久性如何在这里工作。我将什么用作持久性存储?我的prod环境,我实现了SQL持久性。由于servicecontrol将RavenDB作为其持久性存储,我是否使用相同的存储,即RavenDB? 有没有人举例说明这种配置是什么样的?
答案 0 :(得分:0)
您可以自由使用您想要的任何持久性存储。您只是在这里订阅服务控制事件,因此服务控制的内部持久性对您来说无关紧要。这里唯一重要的是你将端点配置为使用json序列化,如文章所示。
答案 1 :(得分:0)
服务控制使用RavenDB来保留消息以进行错误和审计。它通过Service Pulse和Service Insight可以使用的API公开此信息。当您尝试订阅消息时,您不必担心它会使用RavenDB作为持久性。这只是服务控制的实现细节。
持久性与您配置的传输一样重要。如果您使用的是SQL Transport,则Service Control已将表(队列)添加到您已设置的NSB传输数据库中。服务控制通过您已配置的传输,以与其他NSB主机相同的方式侦听应用中的消息。
如果服务控制当前正在运行,那么您已准备就绪。您只需订阅这些事件并定义端点,就像使用任何其他NSB主机一样。来自文档:
<UnicastBusConfig>
<MessageEndpointMappings >
<add Assembly="ServiceControl.Contracts"
Endpoint="Particular.ServiceControl" />
</MessageEndpointMappings>
</UnicastBusConfig>
请记住,当您(或您的团队)配置了服务控制时,他们必须指定它使用的传输与其他NSB主机相同。