使用 NServiceBus 持久化的正确用法是什么?
What is the correct usage for persistence using NServiceBus?
在文档中,它提供了以下关于设置持久性的内容:
// Use NHibernate for all persistence concerns
endpointConfiguration.UsePersistence<NHibernatePersistence>();
或
// or select specific concerns <------- ??????
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Sagas>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Subscriptions>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Timeouts>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Outbox>();
我继承了这段代码,注意它包含了“UsePersistence<NHibernatePersistence>()
”,不用担心:
endpointConfiguration.UsePersistence<NHibernatePersistence>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Sagas>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Subscriptions>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Timeouts>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Outbox>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.GatewayDeduplication>();
我的问题
按照我们的代码构建它的方式使用“UsePersistence<NHibernatePersistence>()
”是否可以?我似乎无法找到明确的答案。
是的,这完全没问题。第一行:
endpointConfiguration.UsePersistence<NHibernatePersistence>();
将所有存储类型的持久性设置为 NHibernate。后续行"override" 此配置针对特定的存储类型。我在单词 "override" 周围加上引号,因为它覆盖了具有相同原始值的特定存储类型。换句话说,他们用 NHibernate 覆盖了 NHibernate。
在这个例子中,你只需要第一行,其余的都是多余的。也就是说,发布的代码应该可以正常工作。
这已得到充分解释in the docs。
在文档中,它提供了以下关于设置持久性的内容:
// Use NHibernate for all persistence concerns
endpointConfiguration.UsePersistence<NHibernatePersistence>();
或
// or select specific concerns <------- ??????
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Sagas>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Subscriptions>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Timeouts>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Outbox>();
我继承了这段代码,注意它包含了“UsePersistence<NHibernatePersistence>()
”,不用担心:
endpointConfiguration.UsePersistence<NHibernatePersistence>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Sagas>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Subscriptions>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Timeouts>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Outbox>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.GatewayDeduplication>();
我的问题
按照我们的代码构建它的方式使用“UsePersistence<NHibernatePersistence>()
”是否可以?我似乎无法找到明确的答案。
是的,这完全没问题。第一行:
endpointConfiguration.UsePersistence<NHibernatePersistence>();
将所有存储类型的持久性设置为 NHibernate。后续行"override" 此配置针对特定的存储类型。我在单词 "override" 周围加上引号,因为它覆盖了具有相同原始值的特定存储类型。换句话说,他们用 NHibernate 覆盖了 NHibernate。
在这个例子中,你只需要第一行,其余的都是多余的。也就是说,发布的代码应该可以正常工作。
这已得到充分解释in the docs。