gpt4 book ai didi

c# - 为什么我无法使用 Azure 服务总线队列获取队列消息?

转载 作者:行者123 更新时间:2023-12-03 04:32:34 25 4
gpt4 key购买 nike

我正在关注如何在 Azure 上使用服务总线队列文档。

我创建了 2 个不同的 Web 应用程序来测试我需要处理的项目是否使用队列。我创建了一个项目来将消息发布到队列中,然后另一个应用程序应该监听队列来处理消息。

我成功地将消息发布到队列,并且我可以看到 Azure 门户中的队列长度显示为 3。因此应该有 3 条消息等待我处理。但是,当我运行具有 QueueClient.OnMessage 的 Web 应用程序时,不会推送任何消息。这样做时我还遗漏了什么吗?

var client = QueueClient.CreateFromConnectionString(ConnectionString, "TestQueue");

var options = new OnMessageOptions
{
AutoComplete = false,
AutoRenewTimeout = TimeSpan.FromMinutes(1)
};

// Callback to handle received messages.
client.OnMessage((message) =>
{
try
{
// Process message from queue.
var messageBody = message.GetBody<string>();
// Remove message from queue.
message.Complete();
}
catch (Exception)
{
// Indicates a problem, unlock message in queue.
message.Abandon();
}
}, options);
}
}

两个应用程序中的 ConnectionString 是相同的,因此没有区别。这是我用来连接队列并向队列发送消息的代码。

var client = QueueClient.CreateFromConnectionString(ConnectionString, "TestQueue");
var message = new BrokeredMessage(value);

message.Properties["TestProperty"] = "This is a test";
message.Properties["UserId"] = "TestUser";

client.Send(message);

如果有人对为什么会发生这种情况有任何见解,我们将不胜感激。

最佳答案

事实证明,当我尝试连接到服务总线时遇到了 407 Proxy Authentication required 错误,我在尝试通过不同的应用程序进行调试时注意到了这一点。我所要做的就是将以下内容添加到 web.config 的 system.net 部分,一旦我能够接收消息。

<defaultProxy useDefaultCredentials="true">
<proxy bypassonlocal="True" usesystemdefault="True"/>
</defaultProxy>

关于c# - 为什么我无法使用 Azure 服务总线队列获取队列消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34188884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com