NServiceBus开箱即用的支持如下传输:sql
NServiceBus端点配置为使用一个特定的运输:windows
NServiceBus/Transport
在端点的配置文件。<connectionStrings> <!-- MSMQ --> <add name="NServiceBus/Transport" connectionString="deadLetter=true; journal=true; useTransactionalQueues=true; cacheSendConnection=true"/> </connectionStrings>
deadLetter
: deadLetter
配置参数启用或禁用死信队列支持,死信队列跟踪消息不能交付(更多信息:http://msdn.microsoft.com/en-us/library/ms706227.aspx)。默认值是 true
; journal
:MSMQ支持日志记录的概念,当日志是活动的每一个发送消息的副本存储在《队列(更多信息:http://msdn.microsoft.com/en-us/library/ms702011.aspx)。默认值是 false
; useTransactionalQueues
:决定若是生成的队列,或现有的,必须是事务性队列。默认值是 true
; cacheSendConnection
:指示底层基础设施缓存链接到远程队列和重用它根据须要而不是每次建立一个新的链接来发送消息。默认值是 true
; timeToReachQueue
:期限到达目的地的消息队列,从消息发送的时间。这个设置是只能在v5.1 +;MSMQ的链接字符串是可选的。缓存
<connectionStrings> <!-- RabbitMQ --> <add name="NServiceBus/Transport" connectionString="host=localhost"/> </connectionStrings>
<connectionStrings> <!-- RabbitMQ --> <add name="NServiceBus/Transport" connectionString="host=myremoteserver; username=myusername; password=mypassowrd"/> </connectionStrings>
<connectionStrings> <!-- RabbitMQ --> <add name="NServiceBus/Transport" connectionString="host=rabbitNode1,rabbitNode2,rabbitNode3; username=myuser; password=password" /> </connectionStrings>
<connectionStrings> <!-- SQL Server --> <add name="NServiceBus/Transport" connectionString="Data Source=.\SQLEXPRESS; Initial Catalog=nservicebus; Integrated Security=True"/> </connectionStrings>
<connectionStrings> <!-- Azure ServiceBus --> <add name="NServiceBus/Transport" connectionString="Endpoint=sb://[namespace].servicebus.windows.net; SharedSecretIssuer=owner; SharedSecretValue=someSecret"/> </connectionStrings>
<connectionStrings> <!-- Azure Storage Queues --> <add name="NServiceBus/Transport" connectionString="DefaultEndpointsProtocol=https; AccountName=myAccount; AccountKey=myKey;"/> </connectionStrings>