在阅读NServiceBus的Getting Started文档时,我发现当扩展到多台计算机时,它可以(并且应该)使用数据库来获取订阅信息。
但它并没有说明如何。我看过其他文档我没看到怎么做(虽然我承认我还没有读过它们。)
有人能指出我在哪里可以找到这些信息吗?或者告诉我该怎么做?
答案 0 :(得分:2)
您需要配置DBSubscriptionStorage而不是MsmqSubscriptionStorage。 这可以通过多种方式完成:
如果您对这些问题有任何详细问题,请发表评论或编辑您的问题。
答案 1 :(得分:1)
如果您正在使用NServiceBus.Host(并且您很可能是),NServiceBus配置文件实际上会覆盖“Configure.With()”内容。例如,当您启动主机时,它会自动配置为使用NServiceBus.Lite配置文件运行。这意味着即使您指定了DBSubscriptionStorage(),它也将使用内存订阅存储而不是数据库订阅存储 - 。诀窍是使用NServiceBus.Production命令行参数运行主机。
此外,您的IConfigureThisEndpoint实现还必须实现“AsA_Publisher”。
换句话说,如果您希望NServiceBus与您的数据库订阅存储通信,它必须运行NServiceBus.Production配置文件(或您自己的自定义配置文件)以及配置为AsA_Publisher。