查找是否在 Azure 服务总线队列上启用了会话
Find if session is enabled on Azure Service Bus Queue
在给定连接字符串或 QueueClient(或其他任何东西)的情况下,如果在 Azure ServiceBus 队列上启用了会话,是否有任何方法以编程方式查找(C# 或 PowerShell)?
您可以在此处尝试此命令 Get-azservicebusqueue。有一个名为 RequiresSession 的字段应该可以解决问题(虽然没有测试,文档也不是确定的)。
如果消息的发件人不包含 SessionId,并且启用了会话,则消息永远不会到达客户端。在这种情况下,如果您有会话 ID,则可以假设该队列已启用会话。 Message class
使用 Microsoft.Azure.ServiceBus 包,以下代码片段将为您提供所需的内容:
var connectionString = "...";
var client = new ManagementClient(connectionString);
var queueDescription = await client.GetQueueAsync("queue");
Console.WriteLine($"Sessions enabled: {queueDescription.RequiresSession}");
WindowsAzure.ServiceBus 中提供了类似的方法来获取队列属性。从那里您可以检查队列是否启用了会话。
该方法在 NamespaceManager class 中可用。
在给定连接字符串或 QueueClient(或其他任何东西)的情况下,如果在 Azure ServiceBus 队列上启用了会话,是否有任何方法以编程方式查找(C# 或 PowerShell)?
您可以在此处尝试此命令 Get-azservicebusqueue。有一个名为 RequiresSession 的字段应该可以解决问题(虽然没有测试,文档也不是确定的)。
如果消息的发件人不包含 SessionId,并且启用了会话,则消息永远不会到达客户端。在这种情况下,如果您有会话 ID,则可以假设该队列已启用会话。 Message class
使用 Microsoft.Azure.ServiceBus 包,以下代码片段将为您提供所需的内容:
var connectionString = "...";
var client = new ManagementClient(connectionString);
var queueDescription = await client.GetQueueAsync("queue");
Console.WriteLine($"Sessions enabled: {queueDescription.RequiresSession}");
WindowsAzure.ServiceBus 中提供了类似的方法来获取队列属性。从那里您可以检查队列是否启用了会话。
该方法在 NamespaceManager class 中可用。