1

我正在尝试使用 Topshelf 创建一个将作为服务运行的 Rebus 端点。这应该如何设置,有什么例子吗?

4

1 回答 1

2

您可以查看Rebus 示例存储库,其中的集成服务示例特别显示了您所追求的内容。

正如您在Program.cs中看到的那样,它使用 Topshelf 基本上只是保留一个 Windsor 容器,它会在应用程序关闭时处理该容器。

Castle Windsor安装程序语法会导致安装程序被自动拾取,其中RebusInstaller显示您通常如何让 Rebus 将自身注入到容器中,而HandlerInstaller显示如何将处理程序添加到容器中。

调整示例以使用另一个容器应该相当容易 - 只需记住在应用程序关闭时将其释放,从而使 Rebus 有机会完成当前正在处理的消息并停止其工作线程。

于 2015-01-07T21:17:59.697 回答