我为天蓝色的工作者角色创建了一个新的NServiceBus。
配置很简单:
NServiceBus.Configure.With(busAssemblies)
.Log4Net()
.License(Config.Default.NServiceBus_License)
.DefineEndpointName(endPointName)
.UnityBuilder(serviceBusDiConfiguration.Container)
.AzureConfigurationSource()
.AzureSagaPersister()
.AzureSubcriptionStorage()
.AzureDataBus()
.JsonSerializer()
.AzureServiceBusMessageQueue()
.UnicastBus()
.LoadMessageHandlers()
.CreateBus()
.Start()
除了.DoNotAutoSubscribe()
的加法调用之外,客户端配置与上述相同。然后,客户端将Bus.Send(message)
用于侦听器的输入队列。
Azure Bus Queue报告将消息发送到输入队列并相应地删除(监听器正在运行 - 否则)。所以是 - 正在从队列中删除消息。但是我的处理程序没有被触发,并且事件查看器或控制台中没有错误消息(使用dev结构时)。
唯一的错误,我甚至不认为它是相关的,因为它在消息从队列中删除时没有被记录 - 而是在启动时记录它,但错误如下:
[MonAgentHost] Error: MA EVENT: 2013-05-12T22:52:54.925Z [MonAgentHost] Error: 2 [MonAgentHost] Error: 12084 [MonAgentHost] Error: 6180 [MonAgentHost] Error: NetTransport [MonAgentHost] Error: 0 [MonAgentHost] Error: 880e569e-d37b-4262-bdae-dbe5133 [MonAgentHost] Error: netutils.cpp [MonAgentHost] Error: OpenHttpSession [MonAgentHost] Error: 749 [MonAgentHost] Error: 0 [MonAgentHost] Error: 2f94 [MonAgentHost] Error: [MonAgentHost] Error: WinHttpGetProxyForUrl(http://127.0.0.1) failed ERROR_WINHTTP_AUTODETECTION_FAILED (12180)
这让我发疯了。我无法相信实际设计API的人会变得如此复杂和不透明 - 相比之下,Windows Complication Foundation似乎微不足道。请帮我弄清楚出了什么问题,感谢任何提示,例如。查看此文件/文件夹中的错误日志也可以正常工作!
谢谢!
答案 0 :(得分:0)
我最近遇到了同样的问题,当您在本地定义自己的端点名称和托管(而不是Azure辅助角色)时,AzureServiceBus传输存在问题,但它不起作用。我最近修复了Yves,但我使用了一种解决方法在app.config部分中为Azure ServiceBus传输指定了完整的端点名称(包括服务URL)。
<configSections>
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
<section name="AzureServiceBusQueueConfig" type="NServiceBus.Config.AzureServiceBusQueueConfig, NServiceBus.Azure" />
<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
<section name="Logging" type="NServiceBus.Config.Logging, NServiceBus.Core" />
</configSections>
<AzureServiceBusQueueConfig QueueName="myendpoint@mynamespace.servicebus.windows.net" ConnectionString="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=mysecret" />