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

IMessageSession 接口

定义

描述 Session 对象。 IMessageSession 可用于对会话执行操作。

public interface IMessageSession : Microsoft.Azure.ServiceBus.Core.IMessageReceiver
type IMessageSession = interface
    interface IMessageReceiver
    interface IReceiverClient
    interface IClientEntity
Public Interface IMessageSession
Implements IMessageReceiver
实现

注解

服务总线会话(在 AMQP 1.0 协议中也称为“组”)是相关消息的无限制序列。 ServiceBus 保证对会话中的消息进行排序。

任何发送方都可以在将消息提交到主题或队列时创建会话,方法是将 Message 上的 属性设置为 SessionId 某个应用程序定义的唯一标识符。 在 AMQP 1.0 协议一级,此值映射到 group-id 属性。

当队列或主题订阅中至少有一条消息具有会话的 SessionId 时,会话就会出现。 会话存在后,会话到期或消失时就没有定义的时刻或手势。

属性

ClientId

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

(继承自 IClientEntity)
IsClosedOrClosing

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

(继承自 IClientEntity)
LastPeekedSequenceNumber

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

(继承自 IMessageReceiver)
LockedUntilUtc

获取已标识 SessionId 的会话锁定到此客户端的时间。

OperationTimeout

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

(继承自 IClientEntity)
OwnsConnection

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

(继承自 IClientEntity)
Path

获取实体路径。

(继承自 IClientEntity)
PrefetchCount

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

(继承自 IReceiverClient)
ReceiveMode

ReceiveMode获取当前接收器的 。

(继承自 IReceiverClient)
RegisteredPlugins

获取此客户端当前注册的插件的列表。

(继承自 IClientEntity)
ServiceBusConnection

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

(继承自 IClientEntity)
SessionId

获取 SessionId。

方法

AbandonAsync(String, IDictionary<String,Object>)

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

(继承自 IReceiverClient)
CloseAsync()

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

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

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

(继承自 IMessageReceiver)
CompleteAsync(String)

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

(继承自 IReceiverClient)
DeadLetterAsync(String, IDictionary<String,Object>)

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

(继承自 IReceiverClient)
DeadLetterAsync(String, String, String)

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

(继承自 IReceiverClient)
DeferAsync(String, IDictionary<String,Object>)

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

(继承自 IMessageReceiver)
GetStateAsync()

获取会话状态。

PeekAsync()

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

(继承自 IMessageReceiver)
PeekAsync(Int32)

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

(继承自 IMessageReceiver)
PeekBySequenceNumberAsync(Int64)

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

(继承自 IMessageReceiver)
PeekBySequenceNumberAsync(Int64, Int32)

速览一批消息。

(继承自 IMessageReceiver)
ReceiveAsync()

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

(继承自 IMessageReceiver)
ReceiveAsync(Int32)

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

(继承自 IMessageReceiver)
ReceiveAsync(Int32, TimeSpan)

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

(继承自 IMessageReceiver)
ReceiveAsync(TimeSpan)

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

(继承自 IMessageReceiver)
ReceiveDeferredMessageAsync(IEnumerable<Int64>)

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

(继承自 IMessageReceiver)
ReceiveDeferredMessageAsync(Int64)

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

(继承自 IMessageReceiver)
RegisterMessageHandler(Func<Message,CancellationToken,Task>, Func<ExceptionReceivedEventArgs,Task>)

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

(继承自 IReceiverClient)
RegisterMessageHandler(Func<Message,CancellationToken,Task>, MessageHandlerOptions)

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

(继承自 IReceiverClient)
RegisterPlugin(ServiceBusPlugin)

ServiceBusPlugin注册要用于此客户端的 。

(继承自 IClientEntity)
RenewLockAsync(Message)

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

(继承自 IMessageReceiver)
RenewLockAsync(String)

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

(继承自 IMessageReceiver)
RenewSessionLockAsync()

在 指定的 SessionId会话上续订锁。 将根据实体上指定的设置续订锁。

SetStateAsync(Byte[])

在会话上设置自定义状态,以后可以使用 GetStateAsync()

UnregisterMessageHandlerAsync(TimeSpan)

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

(继承自 IReceiverClient)
UnregisterPlugin(String)

取消注册 ServiceBusPlugin

(继承自 IClientEntity)

适用于