[英]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.