匯出 (0) 列印
全部展開

MessageReceiver 類別

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

命名空間:  Microsoft.ServiceBus.Messaging
組件:  Microsoft.ServiceBus (在 Microsoft.ServiceBus.dll 中)

public abstract class MessageReceiver : MessageClientEntity

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將清除訊息傳送到服務匯流排,以針對完成實體使用做出信號。 (繼承自 ClientEntity。)
公用方法CloseAsync以非同步方式將清除訊息傳送到服務匯流排,以針對完成實體使用做出信號。 (繼承自 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();
}

此類型的公開靜態 (Visual Basic 中的共用) 成員可進行安全對話。執行個體成員也保證可進行安全對話。

社群新增項目

新增
顯示:
© 2015 Microsoft