方法 : 取得したメッセージに対する書式指定ツールを指定する
更新 : 2007 年 11 月
キューからメッセージを取得するには、使用する書式指定ツール オブジェクトを指定する必要があります。書式指定ツールは、メッセージをキューから削除するときに逆シリアル化する方法を決定します。使用する書式指定ツールの種類によっては、書式指定ツールが処理を行う方法を指定するために、追加のプロパティを設定する必要があります。
既定では、ほとんどの操作に対して XmlMessageFormatter を使用します。使用可能な書式指定ツールの詳細については、「メッセージのシリアル化」を参照してください。XmlMessageFormatter オブジェクトに固有のプロパティについては、「メッセージの読み取りと取得の概要」を参照してください。
書式指定ツールは、コードまたは [プロパティ] ウィンドウで指定できます。また、書式指定ツールはキューまたはメッセージに対して設定できます。キューのメッセージに直接アクセスする場合には、次のコードのように、キューに対して書式指定ツールを設定します。
Console.WriteLine(CStr(MessageQueue1.Receive().Body))
Console.WriteLine(MessageQueue1.Receive().Body.ToString());
メッセージ オブジェクトを通じてキューの内容を取得する場合には、メッセージに対して書式指定ツールを設定します。
Message1 = MessageQueue1.Receive()
message1 = messageQueue1.Receive();
[プロパティ] ウィンドウで書式指定ツールを指定するには
MessageQueue コンポーネントのインスタンスを作成して設定します。詳細については、「方法 : MessageQueue コンポーネントのインスタンスを作成する」を参照してください。
デザイナで、MessageQueue のインスタンスをクリックし、[プロパティ] ウィンドウにアクセスします。
Formatter プロパティに適切な値を設定します。
XmlMessageFormatter オブジェクトまたは BinaryMessageFormatter オブジェクトを選択した場合は、プロパティを展開し、書式指定ツールの設定に必要なサブプロパティを設定します。
プログラムで書式指定ツールを指定するには
MessageQueue コンポーネントのインスタンスを作成して設定します。詳細については、「方法 : MessageQueue コンポーネントのインスタンスを作成する」を参照してください。
コード エディタで、XmlMessageFormatter、ActiveXMessageFormatter、または BinaryMessageFormatter 型の書式指定ツール オブジェクトを作成します。
書式指定ツールに必要なプロパティを設定します。
メッセージを取得します。
たとえば次のコードでは、MyQueue というパブリック キューからメッセージを取得するために、XmlMessageFormatter オブジェクトを使用するコンポーネントを作成して設定します。
Dim mq As New System.Messaging.MessageQueue(".\MyQueue") Dim formatter As System.Messaging.XmlMessageFormatter = _ CType(mq.Formatter, System.Messaging.XmlMessageFormatter) formatter.TargetTypeNames = New String() {"System.String"} Dim m As System.Messaging.Message = mq.Receive(New TimeSpan(0, 0, 3))
System.Messaging.MessageQueue mq = new System.Messaging.MessageQueue(".\\MyQueue"); string[] types = { "System.String" }; ((System.Messaging.XmlMessageFormatter)mq.Formatter).TargetTypeNames = types; System.Messaging.Message m = mq.Receive(new TimeSpan(0, 0, 3));