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

服务总线队列主机服务的异常处理

米承嗣
2023-03-14

我有一个WCF服务,它连接到一个服务总线队列,准备接收消息。这是工作很好,但我希望能够标记的消息作为一个死信,如果我有一个问题处理的消息。当前,如果我的代码抛出异常,消息仍然会从队列中删除,但我希望能够在配置中指定不从队列中删除,但将其标记为死信。我做了一些搜索,但我不知道怎么做。我当前正在将该服务作为windows服务运行

Uri baseAddress=ServiceBusEnvironment.CreateServiceURI(“SB”,“Namespace”,“ServiceQueue”);_ServiceHost=新的ServiceHost(typeof(PaperlessImportServiceOneWay),baseAddress);_ServiceHost.Open();

配置:

<services>
      <service name="Enrollment.ServiceOneWay">
        <endpoint name="ServiceOneWay"
                  address="sb://namespace.servicebus.windows.net/servicequeue"
                  binding="netMessagingBinding"
                  bindingConfiguration="messagingBinding"
                  contract="IServiceOneWaySoap"
                  behaviorConfiguration="sbTokenProvider" />
      </service>
</services>
      <netMessagingBinding>
        <binding name="messagingBinding" closeTimeout="00:03:00" openTimeout="00:03:00"
               receiveTimeout="00:03:00" sendTimeout="00:03:00" sessionIdleTimeout="00:01:00"
               prefetchCount="-1">
          <transportSettings batchFlushInterval="00:00:01" />
        </binding>
      </netMessagingBinding>

<behavior name="sbTokenProvider">
          <transportClientEndpointBehavior>
            <tokenProvider>
              <sharedSecret issuerName="owner" issuerSecret="XXXXXXXXXXXXXXXXXXXXXXXX" />
            </tokenProvider>
          </transportClientEndpointBehavior>
        </behavior>

共有1个答案

东郭淇
2023-03-14

在操作协定的界面中添加此[ReceiveContextenable(ManualControl=true)],然后您可以尝试提交或放弃在以下链接中找到的消息:http://msdn.microsoft.com/en-us/library/windowsazure/hh532034.aspx

 类似资料:
  • 今天晚上,我们观察到排队时间非常慢。我们的追踪数据告诉我们 需要45-60秒。这种情况发生在两个已经存在很长时间的队列上。他们几乎从来没有超过1-2条记录,我们使用一个带有服务总线触发器的网络作业来完成任务。我们正在排队等候一个简单的POCO。还有另一个队列正在快速排队,所以由于没有任何其他想法,我删除了两个麻烦的队列。当代码重新创建它们时(正如它被构建时所做的那样),它们在不到一秒钟的时间里开始

  • 我一直在尝试创建一个客户端来连接我的Azure服务总线队列。我一直在参考此文档: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-java-how-to-use-queues#send-消息到队列。 我的代码: 在创建客户端时,我遇到以下错误: 通用域名格式。微软蔚蓝色的服务总线。原语。Service

  • 我们目前正在利用Azure服务总线来处理来自应用程序的各种消息。 我想知道实时处理这些消息的最佳方式是什么? 有没有一种方法可以在消息放入队列时自动执行脚本? 我只是在想,一定有比让一个单独的应用程序每分钟/30秒检查一次队列更好的方法。 谢谢各位

  • 我对Azure服务总线队列还比较陌生,正在构建一个项目,该项目需要按照消息到达的顺序(FIFO)处理队列中的消息。 使用微软的文档,我能够理解这一部分。据我所知,我需要为队列打开会话? 我所面临的困难是确定对队列执行以下一组有序任务的最佳方法/服务堆栈。 首先,让我们假设我们有一个基于先进先出的服务总线队列,它有n个消息。我怎么可能: 从队列中拾取第一条消息。 使用Azure函数处理消息。 将有效

  • 我使用此url中的示例http://azure.microsoft.com/en-us/documentation/articles/service-bus-java-how-to-use-jms-api-amqp/.我有两个问题: 1、ACS或SAS 连接URL, 用户名和密码来自ACS身份验证,但Azure服务总线已将其身份验证从ACS更改为SAS。它是否也支持SAS身份验证?就像用户名是SA