2012-04-24 49 views
2

通過Azure Service Bus文檔和Web上的帖子查看我只能找到使用MessageReceiver類從$ DeadLetterQueue中讀取死信的死信處理示例。是否可以創建一個WCF服務端點來處理來自Azure Service Bus的死信?

雖然上述方案工作得很好,我很好奇,如果支持以下情形:

我可以點一個單獨的WCF服務端點基本上偵聽直接死信隊列中的消息(如某人: //mynamespace.servicebus.windows.net/MyTopic/subscriptions/MySubscription/$DeadLetterQueue)?

期望的是,當添加新的死信時,將觸發此監聽WCF服務端點來處理該消息。到目前爲止我所做的實驗表明,這不被支持。

任何人都知道Azure服務總線是否可以處理此配置?

回答

0

對不起,目前我無法找到這方面有任何文檔。您可以在http://www.mygreatwindowsazureidea.com/forums/40626-windows-azure-appfabric-feature-voting上提交功能請求。 作爲解決方法,您可以使用MessageReceiver讀取消息,然後如果您願意,可以將消息發送給WCF服務。

+0

我選擇設置一個計劃任務,它將定期輪詢$ DeadLetterQueue,並將任何死信轉發給我指定的處理程序。 – cliphc 2012-04-25 21:42:01

0

我認爲這應該可以工作並且會嘗試一下,只是想知道您是否看到了以下guidance:當使用WCF發佈/訂閱服務模型時,在添加服務端點時,您必須指定主題URI作爲地址和訂閱URI作爲偵聽URI。你應該能夠與某人substitue監聽URI://mynamespace.servicebus.windows.net/MyTopic/subscriptions/MySubscription/$DeadLetterQueue

+0

在我的測試中,我提到了訂閱中的'listenUri',並確保'地址'指向該主題。不幸的是,死信不會觸發監聽端點。 – cliphc 2012-04-25 20:39:31

+0

你可以嘗試先從常規隊列端點接收嗎?我相信有一個服務問題,deadletter信息有時不排隊,直到主Queue上有一個常規接收者。 – 2012-05-15 00:51:45

+0

正在偵聽消息的服務在啓用了AppFabric自動啓動的情況下託管在IIS外。常規隊列接收器在死信隊列接收器之前啓動。此外,這可能無法保證普通接收機在死信接收機之前正在收聽,並且仍然是一個問題。 – cliphc 2012-05-16 02:48:56

相關問題