Last Updated: Nov 28, 2012 10:59AM IST
从NServiceBus3.0开始,RavenDB成为了NServiceBus的机制之一,可以用于持久化timeout,Sagas,Subscriptions等信息。
告诉NServiceBus去使用RavenDB用于持久化,只需要调用Configure.RavenPersistence(),它使用默认的配置,以及如下所述的规约:
1.假如没有master node被配置,那么NServiceBus将会认为RavenDB服务器运行在http://localhost:8080, 同时也是RavenDB默认的URL.
2.假如有master node被配置,那么url将会是: http://{masternode}/:8080
3. 假如一个名为 “NServiceBus.Persistence” 的连接字符串被发现,那么connectionString属性的值将会被使用。
这样你就可以完全控制你的终结点将会使用哪个Raven server。
假如NServiceBus检测到任何Raven相关的存储被使用,比如Saga, Subscription,Timeouts等,那么上面所述将会自动为你配置好,所以本质上你不需要明确地去配置Raven,除非你需要覆盖默认配置。
在一些情况下默认的配置也许对你来说不足够好:
· 1你想要使用自己的连接字符串–假如你正在为你的数据使用Raven,那么你也许想要share连接字符串,你可以通过Configure.RavenPersistence(string connectionString)签名来实现,其告诉NServiceBus连接到字符串指定的服务器,RavenDB默认的连接字符串是“RavenDB”.
· 2你想要明确一个特定数据库名称 – 假如你想要在代码中控制数据库的名称,而不是通过配置实现,那么你可以使用Configure.RavenPersistence(string connectionString,string databaseName) 签名. 这在tenantscenario下是非常有用的。
What database will be used?
在连接到Raven服务器之后,我们需要决定使用哪个真实的数据库。 除非我们能够在连接字符串中发现默认的数据库,否则NServiceBus将会使用终结点名称来作为数据库的名称。 所以假如你的终结点名称是“MyServer”那么数据库的名称也将会是 “MyServer”. 每个终结点都会有一个单独的数据库,除非你明确地去使用连接字符串来覆盖这个默认行为。 如果数据库不存在,RavenDB会自动创建。
关于终结点名称这个概念的详细的解释可以在这里找到:hereandin thisFAQentry.
Can I use the IDocumentStore used byNServiceBus for my own data?
不行,Raven客户端是被整合到了NServiceBus程序集中,所以假如你为了自己的目的要去使用Raven,那么你需要去参考Raven客户端,以及设置你自己的文档存储。
How do I look at the data?
只需要打开浏览器,输入Raven服务器的URL即可,这将会打开the Raven DBmanagementstudio.
分享到:
相关推荐
NServiceBus.Gateway.RavenDB 的官方网关持久性实现 通过我们的了解有关NServiceBus.Gateway.RavenDB的更多信息 如果您有兴趣捐款,请按照的说明进行操作 运行测试 运行测试需要RavenDB 4.2和一个名为...
4. **持久化和存储**:NServiceBus支持多种持久化机制,如SQL Server、Azure Table Storage等,确保在服务重启或故障后能恢复状态。 5. **消息分发和路由**:NServiceBus可以智能地路由消息到正确的接收方,同时...
3. 队列和持久化(Queuing and Persistence):为了保证消息在分布式系统中的可靠传输,NServiceBus支持多种消息队列技术和持久化机制,如MSMQ、RabbitMQ等,以及对数据库的直接存储支持。 4. 路由和分发(Routing ...
CQRS-NServiceBus-EventStore-ElasticSearch 展示使用 NServiceBus EventStore 和 ElasticSearch 的 CQRS 架构的原型。 更多信息在我的博客:
NServiceBus 是一款强大的开源通信框架,专为构建企业级 .NET 应用程序而设计。这个框架的核心理念是简化分布式系统中的复杂性,通过提供可靠的消息传递机制,实现服务间的解耦和通信。NServiceBus 提供了多种功能,...
NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Service Bus)——企业服务总线。NServiceBus也是dotnet世界里面最流行的开源企业服务总线。 NServiceBus 是一个用于构建企业...
添加对支持,以将其持久化到Sql数据库。 文献资料 运行测试 有针对多个数据库引擎的测试。 这些可以安装在您的机器上或在docker容器中运行。 这些测试需要在环境变量中设置连接字符串(请记住,Visual Studio和...
此外,NServiceBus的模块化设计允许开发者根据项目需求选择使用哪些功能,从而降低系统的复杂性。 总结起来,NServiceBus作为一款优秀的开源ESB,为.NET开发者提供了实施SOA的便捷途径。通过实例演示了如何在实际...
NServiceBus.Persistence.AzureStorage 和的官方持久性实现。 通过我们的了解有关NServiceBus.Persistence.AzureStorage的更多信息。 如果您有兴趣捐款,请按照的说明进行操作。运行测试之前测试需要连接到Azure ...
安装此选项以启用NServiceBus以便通过SQL Server进行消息传递 安装 在执行其他任何操作之前,请确保已在环境中启动并运行SQL Server。 还要确保可以从设置中的所有计算机上访问它。 将NServiceBus.SqlServer添加到...
利用Core(SQL)API的NServiceBus持久性。 这是一个组件。 有关文档,包括用法和示例,可在“。 在本地运行测试 所有测试项目都使用NUnit。 可以使用Visual Studio中包含的测试运行器或使用来执行测试项目。 ...
10. **成本效益分析**:选择集成方案时,应综合考虑项目需求、现有技术栈、资源限制和长远规划,权衡nServiceBus的灵活性和BizTalk Server的全面性。 总的来说,nServiceBus和BizTalk Server的集成为企业提供了更大...
要构建NServiceBus,只需在Visual Studio中打开NServiceBus.sln 。 您将在/ binaries中找到构建的程序集。 如果看到构建失败,请检查是否没有将NServiceBus的源放在深子目录中,因为MSBuild不支持长路径名(大于248...
NServiceBus 提供了一种结构化的、声明式的方式来处理应用程序之间的消息传递。它支持事务性消息、故障恢复、路由、分发和负载均衡等功能。通过定义消息接口,服务之间可以进行异步通信,从而提高了系统的可伸缩性和...
验证.NServiceBus 添加支持以验证。社区支持预期所有开发人员都将或拥有以使用NServiceBusExtensions。赞助商通过 支持这个项目。 公司头像将在此处显示,并带有网站链接。 该头像还将被添加到下的所有GitHub存储库...
NServiceBus 开源EBS安装文件
ServiceInsight是一款可视化工具,帮助开发者观察和理解NServiceBus系统中发生的事情,包括消息的流动、错误和Saga的行为。 在ServiceInsight的SagaView中,通过 SagaAudit 提供的状态更改记录,用户可以得到一个更...
通过学习这些内容,开发者可以深入理解如何在实际项目中有效地利用NServiceBus的功能,如配置传输协议(如Azure Service Bus、RabbitMQ等)、持久化存储、消息分发和故障恢复策略等。 总结起来,NServiceBus为.NET ...