https://stackoverflow.com/a/50267687/2063755提供以下代码以获取队列状态:
string connectionString = "connection string";
var namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString);
var queueDescription = namespaceManager.GetQueue("queue name");
var status = queueDescription.Status;
如何使用NServiceBus实现这一点?
我希望使用IEndpointInstance
,但它没有太多方法。
NServiceBus不提供队列状态。如果您需要队列的状态,则必须使用本机Azure Service Bus SDK和NamespaceManager
或ServiceBusAdministrativeClient
,具体取决于您使用的SDK。
NServiceBus的最新版本使用Azure.Messaging.ServiceBus
SDK。要读取队列queue
的状态,需要以下内容:
var admin = new ServiceBusAdministrationClient(connectionString);
QueueProperties props = await admin.GetQueueAsync("queue");
var status = props.Status