没有任何持久性的NServicebus?

没有任何持久性的NServicebus?,nservicebus,Nservicebus,一个新手问题:如果我不使用Sagas或pub/sub模型,我是否需要任何带有NServiceBus的持久层 默认的持久性是RavenDB,我想知道我是否只使用没有RavenDB或任何持久性层的NSB 旁注: 目前,我必须先运行RavenDBServer.exe,然后才能使用NserviceBus,因此,如果我真的开始使用NserviceBus,我不希望依赖于生产环境中运行的其他应用程序。这可能是我的安装中的一个问题。NServiceBus仅使用持久性存储发布/订阅和saga状态的订阅。如果您不使

一个新手问题:如果我不使用Sagas或pub/sub模型,我是否需要任何带有NServiceBus的持久层

默认的持久性是RavenDB,我想知道我是否只使用没有RavenDB或任何持久性层的NSB

旁注:
目前,我必须先运行RavenDBServer.exe,然后才能使用NserviceBus,因此,如果我真的开始使用NserviceBus,我不希望依赖于生产环境中运行的其他应用程序。这可能是我的安装中的一个问题。

NServiceBus仅使用持久性存储发布/订阅和saga状态的订阅。如果您不使用这些,那么就不需要RavenDB或任何其他实现。我相信默认情况下NServiceBus.Core二进制文件与RavenDB DLL捆绑在一起,但在您的情况下,生产中将不需要它。

如果我理解正确,您也可以使用NServiceBus.Lite配置文件,我相信它用于内存持久性。这是一个很好的方法,因为您正在开发和尝试学习NServiceBus。但是,我不确定您是否希望在生产中这样做。更好的做法是在数据库或文件系统中具有某种持久性,以确保在出现错误或应用程序重新启动时应用程序的可靠性。

这几乎完全正确。还有第二级重试功能Bus.Defer和scheduling,它们都利用了我们的持久时间管理,这需要某种持久性来保证可靠性。谢谢Udi,我完全忽略了这些!但所有这些持久性故事都可以通过可插拔的体系结构配置为使用SQL或其他方式。即使在文件系统上以序列化XML的形式存储,在技术上也是可能的。