如何从服务总线主题死信队列中读取C#?

下面的代码可以很好地读取服务总线队列死信,但对于主题,即使在更改路径后,它抛出的异常路径也不正确。


string path= "QueueName";


MessagingFactory messageFactory = MessagingFactory.CreateFromConnectionString("ConnecitonString");


MessageReceiver deadletterReceiver = await         messageFactory.CreateMessageReceiverAsync(QueueClient.FormatDeadLetterPath(path), ReceiveMode.PeekLock);


MessageSender sender = await messageFactory.CreateMessageSenderAsync(path);


BrokeredMessage deadLetter = await deadletterReceiver.ReceiveAsync(TimeSpan.Zero);

if (deadLetter != null)

{

现在我想对服务总线主题死信做同样的事情所以路径应该是 -topicName/subscriptionName


 string path= "TopicName/SubscriptionName";


    MessagingFactory messageFactory = MessagingFactory.CreateFromConnectionString("ConnecitonString");


    MessageReceiver deadletterReceiver = await messageFactory.CreateMessageReceiverAsync(TopicClient.FormatDeadLetterPath(path), ReceiveMode.PeekLock);


    MessageSender sender = await messageFactory.CreateMessageSenderAsync(path);


    BrokeredMessage deadLetter = await deadletterReceiver.ReceiveAsync(TimeSpan.Zero);

    if (deadLetter != null)

    {

获取异常路径不正确...


海绵宝宝撒
浏览 45回答 1
1回答

慕后森

主题没有死信队列,但订阅有。您需要使用SubscriptionClient.FormatDeadLetterPath(String, String)方法,传递主题和订阅名称。
打开App,查看更多内容
随时随地看视频慕课网APP