当前位置: 首页 > 知识库问答 >
问题:

N服务总线消息已从队列中删除,没有跟踪

蒲深
2023-03-14

我为Azure辅助角色创建了一个新的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()

除了对的添加调用之外,客户端配置与上述配置相同。DoNotAutoSubcribe().客户端然后使用Bus。发送(消息)到侦听器的输入队列。

Azure总线队列报告消息被发送到输入队列,并相应地删除(侦听器正在运行,而不是其他)。因此是-消息正在从队列中删除。但是,我的处理程序没有被激发,并且在事件查看器或控制台中都没有错误消息(当使用dev fabric时)。

唯一的错误,我甚至不认为它是相关的,因为它没有被记录在消息从队列中删除的时候——相反,它在启动时记录了这个错误,但是错误如下:

[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复杂的基础似乎微不足道的比较。请帮我找出哪里出了问题,任何提示都很感谢,例如,查看此文件/文件夹中的错误日志也可以!

谢谢

共有1个答案

欧阳子石
2023-03-14

我最近遇到了同样的问题,当您在本地定义自己的终结点名称和主机(不在Azure辅助角色中)时,AzureServiceBus传输出现了问题。Yves最近修复了我的问题,但我使用了一种解决方案,在Azure ServiceBus传输的app.config部分中指定完整的终结点名称(包括服务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" />
 类似资料:
  • 是否需要删除/清除Azure门户中Azure服务总线队列中的活动/死信消息?目前,我们已经向队列发送了几条消息,而活动消息和一些死信消息都无缘无故地保留在那里,并且我们的服务总线用户没有以某种方式触发,因此我们希望删除这些消息,以使队列再次干净。为了等到服务总线在过期后丢弃这些消息,我们可以自己手动删除它们吗?

  • 我试图使用服务总线队列作为IoT中心终结点将消息从IoT中心路由到函数应用。发送到IoT中心的消息在IoT中心中注册,但不会路由到服务总线队列。当我监视服务总线队列时,我只看到成功的请求。 我使用以下标准实现了两个路由规则: 和 我用Azure提供的示例测试了第二个,结果与之匹配。它们似乎都没有将消息转发到服务总线。 在下面找到一条示例消息,我正在尝试发送该消息。

  • 我想从azure服务总线(队列)读取所有消息。 我已经按照下面的指示链接https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-php-how-to-use-queues 目前它只能获取一条消息。。 我想从服务总线(队列)获取所有消息。 提前谢谢。。

  • 我正在使用Azure服务总线队列。但是我不能使用“获取所有队列消息(peek Lock):微软内置于api”从队列中获取所有消息。 有没有办法获取所有队列消息? {"$连接":{"值":{"servicebus_1":{"连接ID":"/订阅/c776fex3-6aec-4722-b099-b054c267b240/资源组/Plugin-Resources/提供者/Microsoft.网络/连接/

  • 我有一个windows服务,它侦听Azure服务总线队列消息,以便从我的WebApi应用程序分发处理。此外,我还需要处理重复性任务(每晚/每周),我认为最好使用相同的系统来处理这些任务。 例如,假设我有一个“CleanupDb”队列,每天午夜删除过时的DB节点: 理论上这应该行得通,但我觉得我错过了一个更明显的处理方法。有没有更好的办法?

  • 我正在使用带有.NET核心的Azure服务总线 在我们的应用程序中,我们正在向服务总线发送会话消息。每当我们收到带有session-Id的取消请求时,我们需要删除/删除/完成带有该特定sessionId的消息,而不需要进行任何进一步的处理 但我得到了错误-请求的会话'session-name'不能被接受。它可能被另一个接收器锁定。