銷售: 1-800-867-1380

MessageReceiver 類別

接收訊息容器中的訊息,並認可它們。

命名空間:  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.

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見

社群新增項目

新增
顯示:
© 2014 Microsoft