簡體   English   中英

Nservice總線端點命名

[英]Nservice Bus Endpoint Naming

我正在嘗試與NSerivceBus接觸,盡管它運行得很順利,但我仍在努力了解如何配置EndPointName。

因此,例如,在遵循一些示例之后,我設法提出了以下建議,但我嘗試更改“端點名稱”的任何嘗試均失敗。

因此,我認為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();
        }

但再次,它沒有工作。

我通過查看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>

還是一無所有。

有人能幫忙嗎? 我仍在努力解決這個問題(對我來說這是一項新技術),所以如果我對這個問題的回答很差,我就表示歉意。

預先感謝Lex

幾件事情:

我不確定100%,但是如果您托管在Web應用程序中,則我不希望您使用IConfigureThisEndpoint和AsA_Server。 我相信您在Application_Start中擁有的配置代碼就是您所需要的。 另一種配置方式是當您托管NSB自己的進程(作為Windows服務或控制台)時。

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

根據您要完成的工作,可能根本不需要unicastbus配置。 它用於定義客戶端上的終結點-換句話說,使用它來定義您的應用程序要與之對話的終結點。

最后,在運行Web應用程序時使用其調試窗口,以查找有關可能出問題的線索。 NSB在調試模式下會產生很多非常有用的日志記錄信息,所有這些信息都應發送到調試窗口。 可能是您的應用無權創建隊列或類似的內容。 一旦找出來,解決許多“學習曲線問題”就變得容易得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM