2013-01-18 35 views
2

我想抓住NSerivceBus,雖然它主要是順利進行,但我正在努力瞭解如何配置EndPointName。Nservice總線端點命名

因此,例如,下面的幾個例子後,我設法想出了以下內容,但是我爲改變EndPoint Name所做的任何嘗試都失敗了。

所以myServer上隊列目前它被命名,取,我覺得從命名空間中的位置:

namespace MyServer 
{ 
    class EndPointConfig : IConfigureThisEndpoint, AsA_Server 
    { 
    } 
} 

但是當我把[EndpointName(「AnotherQueue」)沒有什麼變化(除非它不填寫。在myServer上隊列

我也試圖改變在Global.asax:

public static IBus Bus { get; set; } 
     void Application_Start(object sender, EventArgs e) 
     { 
      Bus = NServiceBus.Configure.With() 
       .Log4Net() 
       .DefaultBuilder() 
       .DefineEndpointName("AnotherQueue") 
       .XmlSerializer() 
       .MsmqTransport() 
        .IsTransactional(false) 
        .PurgeOnStartup(false) 
       .UnicastBus() 
        .ImpersonateSender(false) 
       .CreateBus() 
       .Start(); 
     } 

但同樣,它沒有工作

。 0

我正在通過查看mmc並檢查排隊消息來測試它。

最後我試圖改變的web.config

<configSections> 
     <section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NserviceBus.Core"/> 
     <section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core"/> 
    </configSections> 

    <MsmqTransportConfig ErrorQueue="error" NumberOfWorkerThreads="1" MaxRetries="5"/> 

    <UnicastBusConfig> 
     <MessageEndpointMappings> 
      <add Messages="MyMessage" Endpoint="AnotherQueue"></add> 
     </MessageEndpointMappings> 
    </UnicastBusConfig> 

,仍然一無所獲。

有人能幫忙嗎?我仍然試圖讓自己頭腦發熱(這對我來說是一種新技術),所以如果我對這個問題提出質疑的話,那麼我就會大聲疾呼。

在此先感謝 萊克斯

回答

6

兩件事情:

我不是100%肯定,但我不認爲你想使用IConfigureThisEndpoint,並AsA_Server如果你是在一個Web應用程序託管。我相信你在Application_Start中的配置代碼是你所需要的。另一種配置方式是當您在NSB自己的進程中駐留(作爲Windows服務或控制檯)。

嘗試將DefineEndPointName("AnotherQueue")作爲NServiceBus.Configure.With()後的第一個命令。這是我設置並運行的方式,我相信With()之後的命令的順序確實很重要,並且可能會以靜默方式失敗(我認爲這將在未來版本中解決)。

根據您要完成的內容,您可能根本不需要unicastbus配置。這用於定義端點客戶端 - 換句話說,用它來定義您的應用程序要與之交談的端點。

最後,當您運行它時,使用您的Web應用程序的調試窗口來查找可能出錯的線索。 NSB在調試模式下產生大量非常有用的日誌信息,所有這些信息都應該發送到調試窗口。這可能是因爲你的應用沒有權限創建隊列,或者沿着這些線路。一旦我認識到這一點,對許多「學習曲線問題」進行故障排除變得更容易。

+0

DefineEndPointName()必須在DefaultBuilder()之前。請參閱https://github.com/Particular/NServiceBus/issues/277 –