你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
QueueClient 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
QueueClient 可用于与服务总线队列的所有基本交互。
public class QueueClient : Microsoft.Azure.ServiceBus.ClientEntity, Microsoft.Azure.ServiceBus.IQueueClient
type QueueClient = class
inherit ClientEntity
interface IQueueClient
interface IReceiverClient
interface IClientEntity
interface ISenderClient
Public Class QueueClient
Inherits ClientEntity
Implements IQueueClient
- 继承
- 实现
示例
创建新的 QueueClient
IQueueClient queueClient = new QueueClient(
namespaceConnectionString,
queueName,
ReceiveMode.PeekLock,
RetryExponential);
向队列发送消息:
byte[] data = GetData();
await queueClient.SendAsync(data);
注册消息处理程序,该处理程序将在每次收到消息时调用。
queueClient.RegisterMessageHandler(
async (message, token) =>
{
// Process the message
Console.WriteLine($"Received message: SequenceNumber:{message.SystemProperties.SequenceNumber} Body:{Encoding.UTF8.GetString(message.Body)}");
// Complete the message so that it is not received again.
// This can be done only if the queueClient is opened in ReceiveMode.PeekLock mode.
await queueClient.CompleteAsync(message.SystemProperties.LockToken);
},
async (exceptionEvent) =>
{
// Process the exception
Console.WriteLine("Exception = " + exceptionEvent.Exception);
return Task.CompletedTask;
});
注解
将 MessageSender 或 MessageReceiver 用于高级功能集。 它使用 AMQP 协议与服务总线通信。
构造函数
QueueClient(ServiceBusConnection, String, ReceiveMode, RetryPolicy) |
在给定的 上创建队列客户端的新实例 ServiceBusConnection |
QueueClient(ServiceBusConnectionStringBuilder, ReceiveMode, RetryPolicy) |
实例化新的 QueueClient 以对队列执行操作。 |
QueueClient(String, String, ITokenProvider, TransportType, ReceiveMode, RetryPolicy) |
使用指定的终结点、实体路径和令牌提供程序创建队列客户端的新实例。 |
QueueClient(String, String, ReceiveMode, RetryPolicy) |
实例化新的 QueueClient 以对队列执行操作。 |
属性
ClientId |
获取用于标识此客户端的 ID。 这可用于关联日志和异常。 (继承自 ClientEntity) |
IsClosedOrClosing |
如果客户端关闭或关闭,则返回 true。 (继承自 ClientEntity) |
OperationTimeout |
持续时间,之后单个操作将超时。 |
OwnsConnection |
如果拥有连接,则返回 true;如果共享连接,则返回 false。 (继承自 ClientEntity) |
Path |
获取队列的名称。 |
PrefetchCount |
在应用程序使用 Receive 请求消息时和之前,预提取旨在使消息随时可供本地检索,从而加快消息流的速度。 设置非零值预提取预提取消息数。 将值设置为零会关闭预提取。 默认值为 0。 |
QueueName |
获取队列的名称。 |
ReceiveMode |
获取 ReceiveMode QueueClient 的 。 |
RegisteredPlugins |
获取此 QueueClient 当前注册的插件的列表。 |
RetryPolicy |
获取客户端 RetryPolicy 上定义的 。 (继承自 ClientEntity) |
ServiceBusConnection |
服务总线命名空间的连接对象。 |