导出 (0) 打印
全部展开

MessageReceiver 类

注:本页面内容可能不完全适用中国大陆地区运营的 Windows Azure服务。如要了解不同地区 Windows Azure 服务的差异, 请参考本网站.

从消息容器接收消息并确认这些消息。

命名空间:  Microsoft.ServiceBus.Messaging
程序集:  Microsoft.ServiceBus(在 Microsoft.ServiceBus.dll 中)

[<AbstractClassAttribute>]
type MessageReceiver =  
    class 
        inherit MessageClientEntity 
    end

MessageReceiver 类型公开以下成员。

  名称说明
公共属性BatchFlushInterval获取批刷新间隔。
受保护属性BatchingEnabled获取一个值,用于指示是否启用了批处理。
公共属性IsClosed (从 ClientEntity 继承。)
公共属性LastPeekedSequenceNumber获取或设置上次扫视的消息的序列号。
公共属性Mode获取消息接收模式。
受保护属性OffsetInclusive
公共属性Path获取相对于 MessagingFactory 基址的队列路径或主题路径。
公共属性PrefetchCount获取或设置消息接收器可同时请求的消息数。
受保护属性ReceiverStartTime获取或设置接收器的开始时间。
公共属性RetryPolicy (从 ClientEntity 继承。)
受保护属性StartOffset获取或设置偏移的起始点。
受保护属性SupportsGetRuntimeEntityDescription
受保护属性ThisLock (从 ClientEntity 继承。)
页首

  名称说明
公共方法Abandon(Guid)丢弃消息并放弃消息锁所有权。
公共方法Abandon(Guid, IDictionary(String, Object))丢弃消息并放弃消息锁所有权。
公共方法AbandonAsync(Guid)异步丢弃消息并放弃消息锁所有权。
公共方法AbandonAsync(Guid, IDictionary(String, Object))异步丢弃消息并放弃消息锁所有权。
公共方法Abort对消息传送实体执行中止功能。 (从 ClientEntity 继承。)
公共方法BeginAbandon(Guid, AsyncCallback, Object)开始用于放弃消息及其锁的异步操作。
公共方法BeginAbandon(Guid, IDictionary(String, Object), AsyncCallback, Object)开始用于放弃消息及其锁的异步操作。
公共方法BeginClose开始用于关闭消息客户端实体的异步操作。 (从 MessageClientEntity 继承。)
公共方法BeginComplete开始用于完成消息接收的异步操作。
公共方法BeginCompleteBatch开始用于完成消息批处理的异步操作。
公共方法BeginDeadLetter(Guid, AsyncCallback, Object)开始用于将消息移至死信队列的异步操作。
公共方法BeginDeadLetter(Guid, IDictionary(String, Object), AsyncCallback, Object)开始用于将消息移至死信队列的异步操作。
公共方法BeginDeadLetter(Guid, String, String, AsyncCallback, Object)开始用于将消息移至死信队列的异步操作。
公共方法BeginDefer(Guid, AsyncCallback, Object)开始用于挂起消息接收的异步操作。
公共方法BeginDefer(Guid, IDictionary(String, Object), AsyncCallback, Object)开始用于挂起消息接收的异步操作。
公共方法BeginPeek(AsyncCallback, Object)开始用于扫视消息的操作。
公共方法BeginPeek(Int64, AsyncCallback, Object)开始用于扫视消息的操作。
公共方法BeginPeekBatch(Int32, AsyncCallback, Object)开始用于扫视消息批的操作。
公共方法BeginPeekBatch(Int64, Int32, AsyncCallback, Object)开始用于扫视消息批的操作。
公共方法BeginReceive(AsyncCallback, Object)开始用于接收消息的异步操作。
公共方法BeginReceive(Int64, AsyncCallback, Object)开始用于接收消息的异步操作。
公共方法BeginReceive(TimeSpan, AsyncCallback, Object)开始用于接收消息的异步操作。
公共方法BeginReceiveBatch(IEnumerable(Int64), AsyncCallback, Object)开始用于接收消息批的异步操作。
公共方法BeginReceiveBatch(Int32, AsyncCallback, Object)开始用于接收消息批的异步操作。
公共方法BeginReceiveBatch(Int32, TimeSpan, AsyncCallback, Object)开始用于接收消息批的异步操作。
公共方法Close向 Service Bus 发送清除消息,指出已完成对实体的使用。 (从 ClientEntity 继承。)
公共方法CloseAsync向 Service Bus 异步发送清除消息,指出已完成对实体的使用。 (从 ClientEntity 继承。)
公共方法Complete完成对消息的接收操作。
公共方法CompleteAsync异步完成对消息的接收操作。
公共方法CompleteBatch完成对消息批的接收操作。
公共方法CompleteBatchAsync异步完成对消息批的接收操作。
公共方法DeadLetter(Guid)将未传递的消息移至死信队列。
公共方法DeadLetter(Guid, IDictionary(String, Object))将未传递的消息移至死信队列。
公共方法DeadLetter(Guid, String, String)将未传递的消息移至死信队列。
公共方法DeadLetterAsync(Guid)将未传递的消息异步移动到死信队列。
公共方法DeadLetterAsync(Guid, IDictionary(String, Object))将未传递的消息异步移动到死信队列。
公共方法DeadLetterAsync(Guid, String, String)将未传递的消息异步移动到死信队列。
公共方法Defer(Guid)指示接收者想要推迟消息的处理。
公共方法Defer(Guid, IDictionary(String, Object))指示接收者想要推迟消息的处理。
公共方法DeferAsync(Guid)异步推迟消息处理。
公共方法DeferAsync(Guid, IDictionary(String, Object))异步推迟消息处理。
公共方法EndAbandon结束用于放弃消息及其锁的异步操作。
公共方法EndClose完成用于关闭消息客户端实体的异步操作。 (从 MessageClientEntity 继承。)
公共方法EndComplete结束用于完成消息接收的异步操作。
公共方法EndCompleteBatch结束用于完成批消息接收的异步操作。
公共方法EndDeadLetter结束用于将消息移至死信队列的异步操作。
公共方法EndDefer结束用于推迟消息接收的异步操作。
公共方法EndPeek结束用于扫视消息的异步操作。
公共方法EndPeekBatch结束用于扫视消息批的异步操作。
公共方法EndReceive结束用于接收消息的异步操作。
公共方法EndReceiveBatch结束用于接收消息批的异步操作。
公共方法Equals (从 Object 继承。)
受保护方法Fault仅供内部使用。请勿从此类继承。 (从 ClientEntity 继承。)
受保护方法Finalize (从 Object 继承。)
公共方法GetHashCode (从 Object 继承。)
受保护方法静态成员GetLockToken获取绑定到消息的锁令牌。
受保护方法静态成员GetLockTokens从指定的消息集合获取锁令牌集合。
受保护方法GetProperty(T)
公共方法GetType (从 Object 继承。)
受保护方法MemberwiseClone (从 Object 继承。)
受保护方法OnAbandon在调用 Abandon 操作时执行。
受保护方法OnAbort (从 ClientEntity 继承。)
受保护方法OnBeginAbandon在调用 OnAbandonBeginAbandon 操作时执行。
受保护方法OnBeginClose (从 ClientEntity 继承。)
受保护方法OnBeginComplete(TrackingContext, IEnumerable(ArraySegment(Byte)), Boolean, TimeSpan, AsyncCallback, Object)在调用 OnCompleteBeginComplete 操作时执行。
受保护方法OnBeginComplete(TrackingContext, IEnumerable(Guid), Boolean, TimeSpan, AsyncCallback, Object)在调用 OnCompleteBeginComplete 操作时执行。
受保护方法OnBeginDeadLetter在调用 OnDeadLetterBeginDeadLetter 操作时执行。
受保护方法OnBeginDefer在调用 OnDeferBeginDefer 操作时执行。
受保护方法OnBeginOpen (从 ClientEntity 继承。)
受保护方法OnBeginPeek在调用 BeginPeek 操作时执行。
受保护方法OnBeginRenewMessageLocks在针对锁消息调用 OnBegin 操作时执行。
受保护方法OnBeginTryReceive(TrackingContext, IEnumerable(Int64), TimeSpan, AsyncCallback, Object)在调用 OnTryReceiveBeginTryReceive 操作时执行。
受保护方法OnBeginTryReceive(TrackingContext, Int32, TimeSpan, AsyncCallback, Object)在调用 OnTryReceiveBeginTryReceive 操作时执行。
受保护方法OnBeginTryReceive2在调用 OnTryReceiveBeginTryReceive 操作时执行。
受保护方法OnBeginTryReceiveEventData在为事件数据调用 OnTryReceiveBeginTryReceive 操作时执行。
受保护方法OnClose (从 ClientEntity 继承。)
受保护方法OnClosed (从 ClientEntity 继承。)
受保护方法OnComplete在调用 Complete 操作时执行。
受保护方法OnDeadLetter在调用 DeadLetter 操作时执行。
受保护方法OnDefer在调用 Defer 操作时执行。
受保护方法OnEndAbandon执行“结束放弃”操作。
受保护方法OnEndClose (从 ClientEntity 继承。)
受保护方法OnEndComplete执行“结束完成”操作。
受保护方法OnEndDeadLetter执行“结束移至死信队列”操作。
受保护方法OnEndDefer执行“结束推迟”操作。
受保护方法OnEndOpen (从 ClientEntity 继承。)
受保护方法OnEndPeek执行 EndPeek 操作。
受保护方法OnEndRenewMessageLocks针对消息锁执行 EndRenew 操作。
受保护方法OnEndTryReceive执行“结束尝试接收”操作。
受保护方法OnEndTryReceive2执行“结束尝试接收”操作。
受保护方法OnEndTryReceiveEventData为事件数据执行 EndTryReceive 操作。
受保护方法OnFaulted (从 ClientEntity 继承。)
公共方法OnMessage在事件驱动的消息泵中处理消息。
公共方法OnMessageAsync在事件驱动的消息泵中异步处理消息。
受保护方法OnOpen (从 ClientEntity 继承。)
受保护方法OnOpened (从 ClientEntity 继承。)
受保护方法OnPeek在调用 Peek 操作时执行。
受保护方法OnRenewMessageLocks针对锁消息执行 Renew 操作。
受保护方法OnTryReceive(TrackingContext, IEnumerable(Int64), TimeSpan, IEnumerable(BrokeredMessage))在调用 TryReceive 操作时执行。
受保护方法OnTryReceive(TrackingContext, Int32, TimeSpan, IEnumerable(BrokeredMessage))在调用 TryReceive 操作时执行。
公共方法Peek()读取下一个消息,但不更改接收器或消息源的状态。
公共方法Peek(Int64)读取下一个消息,但不更改接收器或消息源的状态。
公共方法PeekAsync()异步读取下一个消息,但不更改接收器或消息源的状态。
公共方法PeekAsync(Int64)异步读取下一个消息,但不更改接收器或消息源的状态。
公共方法PeekBatch(Int32)读取下一个消息批,但不更改接收器或消息源的状态。
公共方法PeekBatch(Int64, Int32)读取下一个消息批,但不更改接收器或消息源的状态。
公共方法PeekBatchAsync(Int32)异步读取下一个消息批,但不更改接收器或消息源的状态。
公共方法PeekBatchAsync(Int64, Int32)异步读取下一个消息批,但不更改接收器或消息源的状态。
公共方法Receive()从当前队列或主题接收 BrokeredMessage
公共方法Receive(Int64)从当前队列或主题接收消息。
公共方法Receive(TimeSpan)从当前队列或主题接收 BrokeredMessage
公共方法ReceiveAsync()从当前队列或主题异步接收消息。
公共方法ReceiveAsync(Int64)从当前队列或主题异步接收消息。
公共方法ReceiveAsync(TimeSpan)从当前队列或主题异步接收消息。
公共方法ReceiveBatch(IEnumerable(Int64))接收消息批。
公共方法ReceiveBatch(Int32)接收消息批。
公共方法ReceiveBatch(Int32, TimeSpan)接收消息批。
公共方法ReceiveBatchAsync(IEnumerable(Int64))异步接收消息批。
公共方法ReceiveBatchAsync(Int32)异步接收消息批。
公共方法ReceiveBatchAsync(Int32, TimeSpan)异步接收消息批。
受保护方法ThrowIfClosed (从 ClientEntity 继承。)
受保护方法ThrowIfDisposed (从 ClientEntity 继承。)
受保护方法ThrowIfDisposedOrImmutable (从 ClientEntity 继承。)
受保护方法ThrowIfDisposedOrNotOpen (从 ClientEntity 继承。)
受保护方法ThrowIfFaulted (从 ClientEntity 继承。)
公共方法ToString (从 Object 继承。)
页首

虽然你无需创建 QueueClient 对象即可使用 MessageReceiver 类发送和接收消息,但你还可以使用 MessageSenderMessageReceiver 在实体上创建发送器和接收器。但请注意,你只能使用 MessageReceiver 来接收来自队列或订阅的消息;你无法接收或侦听来自主题的消息。同样,你只能使用 MessageSender 将消息发送到队列或主题;你无法将消息发送到订阅。请注意,默认消息接收模式为 PeekLock,该模式将确保消息接收十分可靠。

为订阅创建 MessageReceiver 时,entityPath 参数采用格式 topicPath/subscriptions/subscriptionName

以下示例从 MessageSender 示例中创建的队列接收消息:

Uri serviceUri = ServiceBusEnvironment.CreateServiceUri("sb", ServiceNamespace, string.Empty); 

MessagingFactory factory = MessagingFactory.Create(serviceUri, credentials); 

MessageReceiver myMessageReceiver = factory.CreateMessageReceiver(queueName);

BrokeredMessage message;
while ((message = myMessageReceiver.Receive(new TimeSpan(hours: 0, minutes: 1, seconds: 5))) != null)
{
    Console.WriteLine(
    string.Format(
    "Message received: Id = {0}, Body = {1}", message.MessageId, message.GetBody<string>()));
    message.Complete();
}

此类型的任何公共 static(在 Visual Basic 中为 Shared)成员均是线程安全的。实例成员也保证是线程安全的。

社区附加资源

添加
显示:
© 2015 Microsoft