你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ISubscriptionClient 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
SubscriptionClient 可用于与服务总线订阅的所有基本交互。
public interface ISubscriptionClient : Microsoft.Azure.ServiceBus.Core.IReceiverClient
type ISubscriptionClient = interface
interface IReceiverClient
interface IClientEntity
Public Interface ISubscriptionClient
Implements IReceiverClient
- 派生
- 实现
示例
创建新的 SubscriptionClient
ISubscriptionClient subscriptionClient = new SubscriptionClient(
namespaceConnectionString,
topicName,
subscriptionName,
ReceiveMode.PeekLock,
RetryExponential);
注册每次收到消息时都会调用的消息处理程序。
subscriptionClient.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 subscriptionClient is opened in ReceiveMode.PeekLock mode.
await subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);
},
async (exceptionEvent) =>
{
// Process the exception
Console.WriteLine("Exception = " + exceptionEvent.Exception);
return Task.CompletedTask;
});
注解
用于 MessageReceiver 高级功能集。
属性
ClientId |
获取用于标识此客户端的 ID。 这可用于关联日志和异常。 (继承自 IClientEntity) |
IsClosedOrClosing |
如果客户端已关闭或关闭,则返回 true。 (继承自 IClientEntity) |
OperationTimeout |
持续时间过后,单个操作将超时。 (继承自 IClientEntity) |
OwnsConnection |
如果拥有连接,则返回 true;如果共享连接,则返回 false。 (继承自 IClientEntity) |
Path |
获取实体路径。 (继承自 IClientEntity) |
PrefetchCount |
在应用程序使用 Receive 请求消息时和之前,预提取旨在使消息随时可供本地检索,从而加速消息流。 设置非零值预提取预提取消息数。 将值设置为零会关闭预提取。 默认值为 0。 (继承自 IReceiverClient) |
ReceiveMode |
ReceiveMode获取当前接收器的 。 (继承自 IReceiverClient) |
RegisteredPlugins |
获取此客户端当前注册的插件的列表。 (继承自 IClientEntity) |
ServiceBusConnection |
服务总线命名空间的连接对象。 (继承自 IClientEntity) |
SubscriptionName |
获取订阅的名称。 |
TopicPath |
获取此订阅的主题的路径。 |