エクスポート (0) 印刷
すべて展開
このトピックはまだ評価されていません - このトピックを評価する

OnMessageOptions クラス

OnMessage(Action<(Of <<'(BrokeredMessage>)>>)) および OnMessage(Action<(Of <<'(BrokeredMessage>)>>)) を使用するメッセージ ポンプ処理に関連付けられているオプションを提供します。

System..::..Object
  Microsoft.ServiceBus.Messaging..::..OnMessageOptions

名前空間:  Microsoft.ServiceBus.Messaging
アセンブリ:  Microsoft.ServiceBus (Microsoft.ServiceBus.dll)
public sealed class OnMessageOptions

OnMessageOptions 型は、以下のメンバーを公開しています。

  名前説明
パブリック メソッドOnMessageOptionsOnMessageOptions クラスの新しいインスタンスを初期化します。
先頭に戻る
  名前説明
パブリック プロパティAutoCompleteコールバックが処理を完了した後で、メッセージ ポンプが Complete(Guid) または Complete(Guid) をメッセージに対して呼び出す必要があるかどうかを示す値を取得または設定します。
パブリック プロパティMaxConcurrentCallsメッセージ ポンプが開始する必要のある、コールバックの同時呼び出しの最大数を取得または設定します。
先頭に戻る
  名前説明
パブリック メソッドEquals (Object から継承されています。)
パブリック メソッドGetHashCode (Object から継承されています。)
パブリック メソッドGetType (Object から継承されています。)
パブリック メソッドToString (Object から継承されています。)
先頭に戻る
  名前説明
パブリック イベントExceptionReceived例外を受け取ると発生します。メッセージ ポンプによって検出されたエラーの通知を受け取ることができます。
先頭に戻る

When calling OnMessage()()()(), the client starts an internal message pump that constantly polls the queue or subscription. This message pump consists of an infinite loop that issues a Receive() call. If the call times out, it issues the next Receive() call. The timeout is the value of the OperationTimeout property of the MessagingFactory that is used. The default value of this timeout is 60 seconds. You can modify the timeout by changing the OperationTimeout property before creating the MessagingFactory. Note that every receive operation is a billable event.

void ReceiveMessages()
{
    // Initialize message pump options.
    OnMessageOptions options = new OnMessageOptions();
    options.AutoComplete = true; // Indicates if the message-pump should call complete on messages after the callback has completed processing.
    options.MaxConcurrentCalls = 1; // Indicates the maximum number of concurrent calls to the callback the pump should initiate.
    options.ExceptionReceived += LogErrors; // Enables you to get notified of any errors encountered by the message pump.

    // Start receiving messages.
    QueueClient client = QueueClient.Create("myQueue");
    client.OnMessage((receivedMessage) => // Initiates the message pump and callback is invoked for each message that is recieved, calling close on the client will stop the pump.
    {
        // Process the message.
    }, options);

    Console.WriteLine("Press any key to exit.");
    Console.ReadKey();
}

        void LogErrors(object sender, ExceptionReceivedEventArgs e)
        {
            if (e.Exception != null)
            {
                Console.WriteLine("Error: " + e.Exception.Message);
                Client.Close();
            }
        }

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました

コミュニティの追加

追加
表示:
© 2014 Microsoft. All rights reserved.