你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

MessageReceiver 类

定义

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

public class MessageReceiver : Microsoft.Azure.ServiceBus.ClientEntity, Microsoft.Azure.ServiceBus.Core.IMessageReceiver
type MessageReceiver = class
    inherit ClientEntity
    interface IMessageReceiver
    interface IReceiverClient
    interface IClientEntity
Public Class MessageReceiver
Inherits ClientEntity
Implements IMessageReceiver
继承
MessageReceiver
实现

示例

创建新的 MessageReceiver 以接收来自订阅的消息

IMessageReceiver messageReceiver = new MessageReceiver(
    namespaceConnectionString,
    EntityNameHelper.FormatSubscriptionPath(topicName, subscriptionName),
    ReceiveMode.PeekLock);

从订阅接收消息。

var message = await messageReceiver.ReceiveAsync();
await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);

注解

MessageReceiver 提供在 或 SubscriptionClientQueueClient找不到的高级功能。 例如, ReceiveAsync()它允许按需接收消息,但也要求使用 RenewLockAsync(Message)手动续订锁。 它使用 AMQP 协议与服务通信。

构造函数

MessageReceiver(ServiceBusConnection, String, ReceiveMode, RetryPolicy, Int32)

在给定的上创建新的 AMQP MessageReceiver ServiceBusConnection

MessageReceiver(ServiceBusConnectionStringBuilder, ReceiveMode, RetryPolicy, Int32)

ServiceBusConnectionStringBuilder创建新的 MessageReceiver。

MessageReceiver(String, String, ITokenProvider, TransportType, ReceiveMode, RetryPolicy, Int32)

从指定的终结点、实体路径和令牌提供程序创建新的 MessageReceiver。

MessageReceiver(String, String, ReceiveMode, RetryPolicy, Int32)

从指定的连接字符串和实体路径创建新的 MessageReceiver。

属性

ClientId

获取用于标识此客户端的 ID。 这可用于关联日志和异常。

(继承自 ClientEntity)
IsClosedOrClosing

如果客户端已关闭或关闭,则返回 true。

(继承自 ClientEntity)
LastPeekedSequenceNumber

获取上次查看的消息的序列号。

OperationTimeout

持续时间过后,单个操作将超时。

OwnsConnection

如果拥有连接,则返回 true;如果共享连接,则返回 false。

(继承自 ClientEntity)
Path

此接收器的实体的路径。 对于队列,这是名称,但对于订阅,这是路径。

PrefetchCount

在应用程序使用 Receive 请求消息时和之前,预提取旨在使消息随时可供本地检索,从而加速消息流。 设置非零值预提取预提取消息数。 将值设置为零会关闭预提取。 默认值为 0。

ReceiveMode

ReceiveMode获取当前接收器的 。

RegisteredPlugins

获取当前注册的插件的列表。

RetryPolicy

获取 RetryPolicy 在客户端上定义的 。

(继承自 ClientEntity)
ServiceBusConnection

服务总线命名空间的连接对象。

方法

AbandonAsync(String, IDictionary<String,Object>)

Message使用锁令牌放弃 。 这会使消息再次可供处理。

CloseAsync()

关闭客户端。 关闭它打开的连接。

(继承自 ClientEntity)
CompleteAsync(IEnumerable<String>)

使用锁令牌列表完成一系列 Message 操作。 这会从服务中删除消息。

CompleteAsync(String)

Message使用锁令牌完成 。 这会从服务中删除消息。

DeadLetterAsync(String, IDictionary<String,Object>)

将消息移动到死信子队列。

DeadLetterAsync(String, String, String)

将消息移动到死信子队列。

DeferAsync(String, IDictionary<String,Object>)

指示接收方希望延迟消息的处理。

OnAbandonAsync(String, IDictionary<String,Object>)

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

OnClosingAsync()

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

OnCompleteAsync(IEnumerable<String>)

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

OnDeadLetterAsync(String, IDictionary<String,Object>, String, String)

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

OnDeferAsync(String, IDictionary<String,Object>)

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

OnMessageHandler(MessageHandlerOptions, Func<Message,CancellationToken,Task>)

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

OnPeekAsync(Int64, Int32)

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

OnReceiveAsync(Int32, TimeSpan)

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

OnReceiveDeferredMessageAsync(Int64[])

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

OnRenewLockAsync(String)

MessageReceiver 可用于从队列和订阅接收消息并确认它们。

PeekAsync()

在不更改接收方或消息源的状态的情况下提取下一个活动消息。

PeekAsync(Int32)

在不更改接收方或消息源的状态的情况下提取下一批活动消息。

PeekBySequenceNumberAsync(Int64)

在不更改接收方或消息源的状态的情况下异步读取下一条消息。

PeekBySequenceNumberAsync(Int64, Int32)

速览一批消息。

ReceiveAsync()

从使用 ReceiveMode 模式定义的Path实体接收消息。

ReceiveAsync(Int32)

从使用 ReceiveMode 模式定义的Path实体接收的最大maxMessageCount消息数。

ReceiveAsync(Int32, TimeSpan)

从使用 ReceiveMode 模式定义的Path实体接收的最大maxMessageCount消息数。

ReceiveAsync(TimeSpan)

从使用 ReceiveMode 模式定义的Path实体接收消息。

ReceiveDeferredMessageAsync(IEnumerable<Int64>)

接收 IList<T> 由 标识的延迟消息的 sequenceNumbers

ReceiveDeferredMessageAsync(Int64)

接收由 sequenceNumber标识的特定延迟消息。

RegisterMessageHandler(Func<Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>)

从实体连续接收消息。 注册消息处理程序并启动新线程以接收消息。 每当接收方收到新消息时,此处理程序 (Func<T1,T2,TResult> 等待) 。

RegisterMessageHandler(Func<Message,CancellationToken,Task>, MessageHandlerOptions)

从实体连续接收消息。 注册消息处理程序并启动新线程以接收消息。 每当接收方收到新消息时,此处理程序 (Func<T1,T2,TResult> 等待) 。

RegisterPlugin(ServiceBusPlugin)

ServiceBusPlugin注册要用于此接收器的 。

RenewLockAsync(Message)

续订锁令牌指定的消息上的锁。 将根据队列中指定的设置续订锁。

RenewLockAsync(String)

续订消息上的锁。 将根据队列中指定的设置续订锁。 UTC 格式的新锁令牌到期日期和时间。

ThrowIfClosed()

如果对象为“正在关闭”,则引发 OperationCanceledException。

(继承自 ClientEntity)
UnregisterMessageHandlerAsync(TimeSpan)

如果注册了活动消息处理程序,则从接收方取消注册消息处理程序。 此操作等待正在进行的接收和消息处理操作完成,然后取消注册以前注册的消息处理程序上将来的接收。

UnregisterPlugin(String)

取消注册 ServiceBusPlugin

适用于