【发布时间】:2017-03-04 00:59:17
【问题描述】:
我正在我的网络中使用 c# 程序,并且能够将消息发布到 Azure 服务总线队列。收到它们时,我在MessageReceiver.Receive() 上遇到异常。代码和错误如下;
MessagingFactory factory = MessagingFactory.CreateFromConnectionString(QueueConnectionString);
//Receiving a message
MessageReceiver testQueueReceiver = factory.CreateMessageReceiver(QueueName);
using (BrokeredMessage retrievedMessage = testQueueReceiver.Receive(new TimeSpan(0, 0, 20)))
{
try
{
var message = new StreamReader(retrievedMessage.GetBody<Stream>(), Encoding.UTF8).ReadToEnd();
retrievedMessage.Complete();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
retrievedMessage.Abandon();
}
}
错误在
的“使用”行中被抛出testQueueReceiver.Receive(...);
服务器拒绝了升级请求。 400 此端点仅用于 web-socket 请求
我在网上找不到任何东西,除了一篇似乎暗示这是防火墙/端口问题的帖子。我在本地打开了所有 azure 服务总线端口(9350-9354、80、443)出站,但 9000 有可能在防火墙处被阻止。它应该需要这些吗?任何指针将不胜感激!
Service MessagingCommunication Exception - The End point is only for web socket requests
【问题讨论】:
标签: c# azure azureservicebus