NServiceBus-NServiceBus鏈接字符串示例

NServiceBus開箱即用的支持如下傳輸:sql

  • MSMQ
  • SQL Server
  • rabbitmq
  • 微軟Azure服務總線
  • 微軟Azure存儲隊列

NServiceBus端點配置爲使用一個特定的運輸:windows

  1. 設置一個鏈接字符串,命名 NServiceBus/Transport在端點的配置文件。
  2. 安裝相關的運輸NuGet包。
MSMQ
  • NuGet運輸包裝:不須要,MSMQ開箱即用的支持
  • 鏈接字符串示例:
<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的鏈接字符串是可選的。緩存

rabbitmq
<connectionStrings>
   <!-- RabbitMQ -->
   <add name="NServiceBus/Transport"
        connectionString="host=localhost"/>
</connectionStrings>
  • 遠程主機提供的用戶名和密碼,由於遠程主機默認不接受客人憑證
<connectionStrings>
   <!-- RabbitMQ -->
   <add name="NServiceBus/Transport"
        connectionString="host=myremoteserver;
                          username=myusername;
                          password=mypassowrd"/>
</connectionStrings>
  • 爲集羣RabbitMQ
<connectionStrings>
   <!-- RabbitMQ -->
   <add name="NServiceBus/Transport" 
            connectionString="host=rabbitNode1,rabbitNode2,rabbitNode3;
                username=myuser;
                password=password" />
</connectionStrings>
SQL Server
<connectionStrings>
   <!-- SQL Server -->
   <add name="NServiceBus/Transport"
        connectionString="Data Source=.\SQLEXPRESS;
                                      Initial Catalog=nservicebus;
                                      Integrated Security=True"/>
</connectionStrings>
微軟Azure服務總線
<connectionStrings>
   <!-- Azure ServiceBus -->
   <add name="NServiceBus/Transport"
        connectionString="Endpoint=sb://[namespace].servicebus.windows.net;
                                      SharedSecretIssuer=owner;
                                      SharedSecretValue=someSecret"/>
</connectionStrings>
微軟Azure存儲隊列
<connectionStrings>
   <!-- Azure Storage Queues -->
   <add name="NServiceBus/Transport"
        connectionString="DefaultEndpointsProtocol=https;
                                      AccountName=myAccount;
                                      AccountKey=myKey;"/>
</connectionStrings>
相關文章
相關標籤/搜索