Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以创建WCF服务端点来处理来自Azure service Bus的死信?_Azure_Servicebus - Fatal编程技术网

是否可以创建WCF服务端点来处理来自Azure service Bus的死信?

是否可以创建WCF服务端点来处理来自Azure service Bus的死信?,azure,servicebus,Azure,Servicebus,通过查看Azure Service Bus文档和web上的帖子,我只能找到使用MessageReceiver类从$DeadLetterQueue读取死信的死信处理示例 虽然上面的场景工作正常,但我很好奇是否支持以下场景: 我是否可以指定一个单独的WCF服务端点来监听直接死信队列上的消息(例如sb://mynamespace.servicebus.windows.net/MyTopic/subscriptions/MySubscription/$DeadLetterQueue) 我们的期望是,随着

通过查看Azure Service Bus文档和web上的帖子,我只能找到使用MessageReceiver类从$DeadLetterQueue读取死信的死信处理示例

虽然上面的场景工作正常,但我很好奇是否支持以下场景:

我是否可以指定一个单独的WCF服务端点来监听直接死信队列上的消息(例如sb://mynamespace.servicebus.windows.net/MyTopic/subscriptions/MySubscription/$DeadLetterQueue)

我们的期望是,随着新死信的添加,将触发此侦听WCF服务端点来处理消息。到目前为止,我所做的实验表明,这是不受支持的


有人知道Azure Service Bus是否可以处理此配置吗?

我认为这应该可以并将尝试它,只是想知道您是否看到以下情况:在使用WCF发布/订阅服务模型时,在添加服务端点时,您必须指定主题URI作为地址,并将订阅URI作为侦听URI。您应该能够用sb://mynamespace.servicebus.windows.net/MyTopic/subscriptions/MySubscription/$DeadLetterQueue替换侦听URI,我认为这应该会起作用,并且会尝试一下,只是想知道您是否看到了以下内容:在使用WCF发布/订阅服务模型时,添加服务端点时,必须将主题URI指定为地址,将订阅URI指定为侦听URI。您应该能够用sb://mynamespace.servicebus.windows.net/MyTopic/subscriptions/MySubscription/$DeadLetterQueue替换侦听URI。抱歉,目前我找不到任何有关此的文档。您可以在上提交功能请求。
作为一种解决方法,您可以使用MessageReceiver读取消息,然后如果愿意,您可以将消息发送到WCF服务。

抱歉,目前我找不到任何有关此的文档。您可以在上提交功能请求。
作为一种解决方法,您可以使用MessageReceiver读取消息,然后如果愿意,您可以将消息发送到WCF服务。

在我的测试中,我将“listenUri”指向您提到的订阅,并确保“地址”指向主题。不幸的是,死信不会触发侦听端点。您是否也可以尝试首先从常规队列端点接收?我认为存在一个服务问题,死信消息有时在主队列上有常规接收者之前不会排队。侦听消息的服务在启用AppFabric自动启动的IIS之外托管。常规队列接收器在死信队列接收器之前启动。此外,这可能不能保证常规接收者在死信接收者之前收听,这仍然是一个问题。在我的测试中,我将“listenUri”指向您提到的订阅,并确保“地址”指向主题。不幸的是,死信不会触发侦听端点。您是否也可以尝试首先从常规队列端点接收?我认为存在一个服务问题,死信消息有时在主队列上有常规接收者之前不会排队。侦听消息的服务在启用AppFabric自动启动的IIS之外托管。常规队列接收器在死信队列接收器之前启动。此外这可能无法保证常规接收者在死信接收者之前侦听,这仍然是一个问题。我选择设置一个计划任务,该任务将定期轮询$DeadLetterQueue,并将任何死信转发给我指定的处理程序。我选择设置一个计划任务,该任务将轮询$DeadLetterQueue,并将所有死信转发给我指定的处理程序。