导出 (0) 打印
全部展开

MessageReceiver 类

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

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

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

public abstract class MessageReceiver : MessageClientEntity

MessageReceiver 类型公开以下成员。

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

  名称说明
公共方法Abandon(Guid)丢弃消息并放弃消息锁所有权。
公共方法Abandon(Guid, IDictionary<(Of <<'(String, Object>)>>))丢弃消息并放弃消息锁所有权。
公共方法AbandonAsync(Guid)异步丢弃消息并放弃消息锁所有权。
公共方法AbandonAsync(Guid, IDictionary<(Of <<'(String, Object>)>>))异步丢弃消息并放弃消息锁所有权。
公共方法AbortPerforms abort functionality on the messaging entity. (从 ClientEntity 继承。)
公共方法BeginAbandon(Guid, AsyncCallback, Object)开始用于放弃消息及其锁的异步操作。
公共方法BeginAbandon(Guid, IDictionary<(Of <<'(String, Object>)>>), AsyncCallback, Object)开始用于放弃消息及其锁的异步操作。
公共方法BeginClose开始用于关闭消息客户端实体的异步操作。 (从 MessageClientEntity 继承。)
公共方法BeginComplete开始用于完成消息接收的异步操作。
公共方法BeginCompleteBatch开始用于完成消息批处理的异步操作。
公共方法BeginDeadLetter(Guid, AsyncCallback, Object)开始用于将消息移至死信队列的异步操作。
公共方法BeginDeadLetter(Guid, IDictionary<(Of <<'(String, Object>)>>), AsyncCallback, Object)开始用于将消息移至死信队列的异步操作。
公共方法BeginDeadLetter(Guid, String, String, AsyncCallback, Object)开始用于将消息移至死信队列的异步操作。
公共方法BeginDefer(Guid, AsyncCallback, Object)开始用于挂起消息接收的异步操作。
公共方法BeginDefer(Guid, IDictionary<(Of <<'(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<(Of <<'(Int64>)>>), AsyncCallback, Object)开始用于接收消息批的异步操作。
公共方法BeginReceiveBatch(Int32, AsyncCallback, Object)开始用于接收消息批的异步操作。
公共方法BeginReceiveBatch(Int32, TimeSpan, AsyncCallback, Object)开始用于接收消息批的异步操作。
公共方法CloseSends a cleanup message to Service Bus to signal the completion of the usage of an entity. (从 ClientEntity 继承。)
公共方法CloseAsyncSends a cleanup message asynchronously to Service Bus to signal the completion of the usage of an entity. (从 ClientEntity 继承。)
公共方法Complete完成对消息的接收操作。
公共方法CompleteAsync异步完成对消息的接收操作。
公共方法CompleteBatch完成对消息批的接收操作。
公共方法CompleteBatchAsync异步完成对消息批的接收操作。
公共方法DeadLetter(Guid)将未传递的消息移至死信队列。
公共方法DeadLetter(Guid, IDictionary<(Of <<'(String, Object>)>>))将未传递的消息移至死信队列。
公共方法DeadLetter(Guid, String, String)将未传递的消息移至死信队列。
公共方法DeadLetterAsync(Guid)将未传递的消息异步移动到死信队列。
公共方法DeadLetterAsync(Guid, IDictionary<(Of <<'(String, Object>)>>))将未传递的消息异步移动到死信队列。
公共方法DeadLetterAsync(Guid, String, String)将未传递的消息异步移动到死信队列。
公共方法Defer(Guid)指示接收者想要推迟消息的处理。
公共方法Defer(Guid, IDictionary<(Of <<'(String, Object>)>>))指示接收者想要推迟消息的处理。
公共方法DeferAsync(Guid)异步推迟消息处理。
公共方法DeferAsync(Guid, IDictionary<(Of <<'(String, Object>)>>))异步推迟消息处理。
公共方法EndAbandon结束用于放弃消息及其锁的异步操作。
公共方法EndClose完成用于关闭消息客户端实体的异步操作。 (从 MessageClientEntity 继承。)
公共方法EndComplete结束用于完成消息接收的异步操作。
公共方法EndCompleteBatch结束用于完成批消息接收的异步操作。
公共方法EndDeadLetter结束用于将消息移至死信队列的异步操作。
公共方法EndDefer结束用于推迟消息接收的异步操作。
公共方法EndPeek结束用于扫视消息的异步操作。
公共方法EndPeekBatch结束用于扫视消息批的异步操作。
公共方法EndReceive结束用于接收消息的异步操作。
公共方法EndReceiveBatch结束用于接收消息批的异步操作。
公共方法Equals (从 Object 继承。)
受保护方法FaultFor internal use only. Do not inherit from this class. (从 ClientEntity 继承。)
受保护方法Finalize (从 Object 继承。)
公共方法GetHashCode (从 Object 继承。)
受保护方法静态成员GetLockToken获取绑定到消息的锁令牌。
受保护方法静态成员GetLockTokens从指定的消息集合获取锁令牌集合。
公共方法GetType (从 Object 继承。)
受保护方法MemberwiseClone (从 Object 继承。)
受保护方法OnAbandon在调用 Abandon 操作时执行。
受保护方法OnAbort (从 ClientEntity 继承。)
受保护方法OnBeginAbandon在调用 OnAbandonBeginAbandon 操作时执行。
受保护方法OnBeginClose (从 ClientEntity 继承。)
受保护方法OnBeginComplete(TrackingContext, IEnumerable<(Of <<'(ArraySegment<(Of <<'(Byte>)>>)>)>>), Boolean, TimeSpan, AsyncCallback, Object)
受保护方法OnBeginComplete(TrackingContext, IEnumerable<(Of <<'(Guid>)>>), Boolean, TimeSpan, AsyncCallback, Object)在调用 OnCompleteBeginComplete 操作时执行。
受保护方法OnBeginDeadLetter在调用 OnDeadLetterBeginDeadLetter 操作时执行。
受保护方法OnBeginDefer在调用 OnDeferBeginDefer 操作时执行。
受保护方法OnBeginOpen (从 ClientEntity 继承。)
受保护方法OnBeginPeek在调用 BeginPeek 操作时执行。
受保护方法OnBeginRenewMessageLocks在针对锁消息调用 OnBegin 操作时执行。
受保护方法OnBeginTryReceive(TrackingContext, IEnumerable<(Of <<'(Int64>)>>), TimeSpan, AsyncCallback, Object)在调用 OnTryReceiveBeginTryReceive 操作时执行。
受保护方法OnBeginTryReceive(TrackingContext, Int32, TimeSpan, AsyncCallback, Object)在调用 OnTryReceiveBeginTryReceive 操作时执行。
受保护方法OnBeginTryReceive2在调用 OnTryReceiveBeginTryReceive 操作时执行。
受保护方法OnBeginTryReceiveEventData
受保护方法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
受保护方法OnFaulted (从 ClientEntity 继承。)
公共方法OnMessage在事件驱动的消息泵中处理消息。
公共方法OnMessageAsync在事件驱动的消息泵中异步处理消息。
受保护方法OnOpen (从 ClientEntity 继承。)
受保护方法OnOpened (从 ClientEntity 继承。)
受保护方法OnPeek在调用 Peek 操作时执行。
受保护方法OnRenewMessageLocks针对锁消息执行 Renew 操作。
受保护方法OnTryReceive(TrackingContext, IEnumerable<(Of <<'(Int64>)>>), TimeSpan, IEnumerable<(Of <<'(BrokeredMessage>)>>)%)在调用 TryReceive 操作时执行。
受保护方法OnTryReceive(TrackingContext, Int32, TimeSpan, IEnumerable<(Of <<'(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<(Of <<'(Int64>)>>))接收消息批。
公共方法ReceiveBatch(Int32)接收消息批。
公共方法ReceiveBatch(Int32, TimeSpan)接收消息批。
公共方法ReceiveBatchAsync(IEnumerable<(Of <<'(Int64>)>>))异步接收消息批。
公共方法ReceiveBatchAsync(Int32)异步接收消息批。
公共方法ReceiveBatchAsync(Int32, TimeSpan)异步接收消息批。
受保护方法ThrowIfClosed (从 ClientEntity 继承。)
受保护方法ThrowIfDisposed (从 ClientEntity 继承。)
受保护方法ThrowIfDisposedOrImmutable (从 ClientEntity 继承。)
受保护方法ThrowIfDisposedOrNotOpen (从 ClientEntity 继承。)
受保护方法ThrowIfFaulted (从 ClientEntity 继承。)
公共方法ToString (从 Object 继承。)
页首

Although you can use the QueueClient class to send and receive messages without creating a MessageReceiver object, you can also use MessageSender and MessageReceiver to create a sender and receiver on an entity. However, note that you can only use a MessageReceiver to receive messages from a queue or subscription; you cannot receive messages or listen for messages from a topic. Similarly, you can only use a MessageSender to send messages to a queue or topic; you cannot send messages to a subscription. Note that the default message receive mode is PeekLock, which ensures reliable message receiving.

When you create a MessageReceiver for subscriptions, the entityPath parameter is of the form topicPath/subscriptions/subscriptionName.

The following example receives a message from the queue created in the MessageSender example:

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();
}

Any public static (Shared in Visual Basic) members of this type are thread safe. Instance members are also guaranteed to be thread safe.

社区附加资源

添加
显示:
© 2014 Microsoft