MessageQueue クラス

定義

メッセージ キュー サーバーのキューにアクセスできるようにします。

public ref class MessageQueue : System::ComponentModel::Component, System::Collections::IEnumerable
[System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.MessageQueueConverter))]
public class MessageQueue : System.ComponentModel.Component, System.Collections.IEnumerable
[System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.MessageQueueConverter))]
[System.Messaging.MessagingDescription("MessageQueueDesc")]
public class MessageQueue : System.ComponentModel.Component, System.Collections.IEnumerable
[<System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.MessageQueueConverter))>]
type MessageQueue = class
    inherit Component
    interface IEnumerable
[<System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.MessageQueueConverter))>]
[<System.Messaging.MessagingDescription("MessageQueueDesc")>]
type MessageQueue = class
    inherit Component
    interface IEnumerable
Public Class MessageQueue
Inherits Component
Implements IEnumerable
継承
属性
実装

次のコード例では、さまざまなパス名構文の種類を使用して新しい MessageQueue オブジェクトを作成します。 いずれの場合も、コンストラクターでパスが定義されているキューにメッセージを送信します。

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;
ref class MyNewQueue
{
public:

   // References public queues.
   void SendPublic()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
      myQueue->Send( "Public queue by path name." );
      return;
   }


   // References private queues.
   void SendPrivate()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\Private$\\myQueue" );
      myQueue->Send( "Private queue by path name." );
      return;
   }


   // References queues by label.
   void SendByLabel()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( "Label:TheLabel" );
      myQueue->Send( "Queue by label." );
      return;
   }


   // References queues by format name.
   void SendByFormatName()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( "FormatName:Public=5A5F7535-AE9A-41d4 -935C-845C2AFF7112" );
      myQueue->Send( "Queue by format name." );
      return;
   }


   // References computer journal queues.
   void MonitorComputerJournal()
   {
      MessageQueue^ computerJournal = gcnew MessageQueue( ".\\Journal$" );
      while ( true )
      {
         Message^ journalMessage = computerJournal->Receive();
         
         // Process the journal message.
      }
   }


   // References queue journal queues.
   void MonitorQueueJournal()
   {
      MessageQueue^ queueJournal = gcnew MessageQueue( ".\\myQueue\\Journal$" );
      while ( true )
      {
         Message^ journalMessage = queueJournal->Receive();
         
         // Process the journal message.
      }
   }


   // References dead-letter queues.
   void MonitorDeadLetter()
   {
      MessageQueue^ deadLetter = gcnew MessageQueue( ".\\DeadLetter$" );
      while ( true )
      {
         Message^ deadMessage = deadLetter->Receive();
         
         // Process the dead-letter message.
      }
   }


   // References transactional dead-letter queues.
   void MonitorTransactionalDeadLetter()
   {
      MessageQueue^ TxDeadLetter = gcnew MessageQueue( ".\\XactDeadLetter$" );
      while ( true )
      {
         Message^ txDeadLetter = TxDeadLetter->Receive();
         
         // Process the transactional dead-letter message.
      }
   }

};


//*************************************************
// Provides an entry point into the application.
//         
// This example demonstrates several ways to set
// a queue's path.
//*************************************************
int main()
{
   
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;
   myNewQueue->SendPublic();
   myNewQueue->SendPrivate();
   myNewQueue->SendByLabel();
   myNewQueue->SendByFormatName();
   myNewQueue->MonitorComputerJournal();
   myNewQueue->MonitorQueueJournal();
   myNewQueue->MonitorDeadLetter();
   myNewQueue->MonitorTransactionalDeadLetter();
   return 0;
}
using System;
using System.Messaging;

namespace MyProject
{
    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //		
        // This example demonstrates several ways to set
        // a queue's path.
        //**************************************************

        public static void Main()
        {
            // Create a new instance of the class.
            MyNewQueue myNewQueue = new MyNewQueue();

            myNewQueue.SendPublic();
            myNewQueue.SendPrivate();
            myNewQueue.SendByLabel();
            myNewQueue.SendByFormatName();
            myNewQueue.MonitorComputerJournal();
            myNewQueue.MonitorQueueJournal();
            myNewQueue.MonitorDeadLetter();
            myNewQueue.MonitorTransactionalDeadLetter();

            return;
        }
        
        // References public queues.
        public void SendPublic()
        {
            MessageQueue myQueue = new MessageQueue(".\\myQueue");
            myQueue.Send("Public queue by path name.");

            return;
        }

        // References private queues.
        public void SendPrivate()
        {
            MessageQueue myQueue = new
                MessageQueue(".\\Private$\\myQueue");
            myQueue.Send("Private queue by path name.");

            return;
        }

        // References queues by label.
        public void SendByLabel()
        {
            MessageQueue myQueue = new MessageQueue("Label:TheLabel");
            myQueue.Send("Queue by label.");

            return;
        }

        // References queues by format name.
        public void SendByFormatName()
        {
            MessageQueue myQueue = new
                MessageQueue("FormatName:Public=5A5F7535-AE9A-41d4" +
                "-935C-845C2AFF7112");
            myQueue.Send("Queue by format name.");

            return;
        }

        // References computer journal queues.
        public void MonitorComputerJournal()
        {
            MessageQueue computerJournal = new
                MessageQueue(".\\Journal$");
            while(true)
            {
                Message journalMessage = computerJournal.Receive();
                // Process the journal message.
            }
        }

        // References queue journal queues.
        public void MonitorQueueJournal()
        {
            MessageQueue queueJournal = new
                MessageQueue(".\\myQueue\\Journal$");
            while(true)
            {
                Message journalMessage = queueJournal.Receive();
                // Process the journal message.
            }
        }
        
        // References dead-letter queues.
        public void MonitorDeadLetter()
        {
            MessageQueue deadLetter = new
                MessageQueue(".\\DeadLetter$");
            while(true)
            {
                Message deadMessage = deadLetter.Receive();
                // Process the dead-letter message.
            }
        }

        // References transactional dead-letter queues.
        public void MonitorTransactionalDeadLetter()
        {
            MessageQueue TxDeadLetter = new
                MessageQueue(".\\XactDeadLetter$");
            while(true)
            {
                Message txDeadLetter = TxDeadLetter.Receive();
                // Process the transactional dead-letter message.
            }
        }
    }
}
Imports System.Messaging

Public Class MyNewQueue


        
        ' Provides an entry point into the application.
        '		 
        ' This example demonstrates several ways to set
        ' a queue's path.
        

        Public Shared Sub Main()

            ' Create a new instance of the class.
            Dim myNewQueue As New MyNewQueue()

            myNewQueue.SendPublic()
            myNewQueue.SendPrivate()
            myNewQueue.SendByLabel()
            myNewQueue.SendByFormatName()
            myNewQueue.MonitorComputerJournal()
            myNewQueue.MonitorQueueJournal()
            myNewQueue.MonitorDeadLetter()
            myNewQueue.MonitorTransactionalDeadLetter()

            Return

        End Sub


        ' References public queues.
        Public Sub SendPublic()

            Dim myQueue As New MessageQueue(".\myQueue")
            myQueue.Send("Public queue by path name.")

            Return

        End Sub


        ' References private queues.
        Public Sub SendPrivate()

            Dim myQueue As New MessageQueue(".\Private$\myQueue")
            myQueue.Send("Private queue by path name.")

            Return

        End Sub


        ' References queues by label.
        Public Sub SendByLabel()

            Dim myQueue As New MessageQueue("Label:TheLabel")
            myQueue.Send("Queue by label.")

            Return

        End Sub


        ' References queues by format name.
        Public Sub SendByFormatName()

            Dim myQueue As New _
                MessageQueue("FormatName:Public=" + _
                    "5A5F7535-AE9A-41d4-935C-845C2AFF7112")
            myQueue.Send("Queue by format name.")

            Return

        End Sub


        ' References computer journal queues.
        Public Sub MonitorComputerJournal()

            Dim computerJournal As New MessageQueue(".\Journal$")

            While True

                Dim journalMessage As Message = _
                    computerJournal.Receive()

                ' Process the journal message.

            End While

            Return
        End Sub


        ' References queue journal queues.
        Public Sub MonitorQueueJournal()

            Dim queueJournal As New _
                            MessageQueue(".\myQueue\Journal$")

            While True

                Dim journalMessage As Message = _
                    queueJournal.Receive()

                ' Process the journal message.

            End While

            Return
        End Sub


        ' References dead-letter queues.
        Public Sub MonitorDeadLetter()
            Dim deadLetter As New MessageQueue(".\DeadLetter$")

            While True

                Dim deadMessage As Message = deadLetter.Receive()

                ' Process the dead-letter message.

            End While

            Return

        End Sub


        ' References transactional dead-letter queues.
        Public Sub MonitorTransactionalDeadLetter()

            Dim TxDeadLetter As New MessageQueue(".\XactDeadLetter$")

            While True

                Dim txDeadLetterMessage As Message = _
                    TxDeadLetter.Receive()

                ' Process the transactional dead-letter message.

            End While

            Return

        End Sub

End Class

次のコード例では、 という Orderアプリケーション固有のクラスを使用して、キューにメッセージを送信し、キューからメッセージを受信します。

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;

// This class represents an object the following example 
// sends to a queue and receives from a queue.
ref class Order
{
public:
   int orderId;
   DateTime orderTime;
};


/// <summary>
/// Provides a container class for the example.
/// </summary>
ref class MyNewQueue
{
public:

   //*************************************************
   // Sends an Order to a queue.
   //*************************************************
   void SendMessage()
   {
      // Create a new order and set values.
      Order^ sentOrder = gcnew Order;
      sentOrder->orderId = 3;
      sentOrder->orderTime = DateTime::Now;

      // Connect to a queue on the local computer.
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );

      // Send the Order to the queue.
      myQueue->Send( sentOrder );
      return;
   }

   //*************************************************
   // Receives a message containing an Order.
   //*************************************************
   void ReceiveMessage()
   {
      // Connect to the a queue on the local computer.
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );

      // Set the formatter to indicate body contains an Order.
      array<Type^>^p = gcnew array<Type^>(1);
      p[ 0 ] = Order::typeid;
      myQueue->Formatter = gcnew XmlMessageFormatter( p );
      try
      {
         // Receive and format the message. 
         Message^ myMessage = myQueue->Receive();
         Order^ myOrder = static_cast<Order^>(myMessage->Body);

         // Display message information.
         Console::WriteLine( "Order ID: {0}", myOrder->orderId );
         Console::WriteLine( "Sent: {0}", myOrder->orderTime );
      }
      catch ( MessageQueueException^ ) 
      {
         // Handle Message Queuing exceptions.
      }
      // Handle invalid serialization format.
      catch ( InvalidOperationException^ e ) 
      {
         Console::WriteLine( e->Message );
      }

      // Catch other exceptions as necessary.
      return;
   }
};

//*************************************************
// Provides an entry point into the application.
//         
// This example sends and receives a message from
// a queue.
//*************************************************
int main()
{
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;

   // Send a message to a queue.
   myNewQueue->SendMessage();

   // Receive a message from a queue.
   myNewQueue->ReceiveMessage();
   return 0;
}
using System;
using System.Messaging;

namespace MyProject
{

    // This class represents an object the following example
    // sends to a queue and receives from a queue.
    public class Order
    {
        public int orderId;
        public DateTime orderTime;
    };	

    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //		
        // This example sends and receives a message from
        // a queue.
        //**************************************************

        public static void Main()
        {
            // Create a new instance of the class.
            MyNewQueue myNewQueue = new MyNewQueue();

            // Send a message to a queue.
            myNewQueue.SendMessage();

            // Receive a message from a queue.
            myNewQueue.ReceiveMessage();

            return;
        }

        //**************************************************
        // Sends an Order to a queue.
        //**************************************************
        
        public void SendMessage()
        {
            
            // Create a new order and set values.
            Order sentOrder = new Order();
            sentOrder.orderId = 3;
            sentOrder.orderTime = DateTime.Now;

            // Connect to a queue on the local computer.
            MessageQueue myQueue = new MessageQueue(".\\myQueue");

            // Send the Order to the queue.
            myQueue.Send(sentOrder);

            return;
        }

        //**************************************************
        // Receives a message containing an Order.
        //**************************************************
        
        public  void ReceiveMessage()
        {
            // Connect to the a queue on the local computer.
            MessageQueue myQueue = new MessageQueue(".\\myQueue");

            // Set the formatter to indicate body contains an Order.
            myQueue.Formatter = new XmlMessageFormatter(new Type[]
                {typeof(MyProject.Order)});
            
            try
            {
                // Receive and format the message.
                Message myMessage =	myQueue.Receive();
                Order myOrder = (Order)myMessage.Body;

                // Display message information.
                Console.WriteLine("Order ID: " +
                    myOrder.orderId.ToString());
                Console.WriteLine("Sent: " +
                    myOrder.orderTime.ToString());
            }
            
            catch (MessageQueueException)
            {
                // Handle Message Queuing exceptions.
            }

            // Handle invalid serialization format.
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message);
            }
            
            // Catch other exceptions as necessary.

            return;
        }
    }
}
Imports System.Messaging

    ' This class represents an object the following example 
    ' sends to a queue and receives from a queue.
    Public Class Order
        Public orderId As Integer
        Public orderTime As DateTime
    End Class


   
    Public Class MyNewQueue


        '
        ' Provides an entry point into the application.
        '		 
        ' This example sends and receives a message from
        ' a qeue.
        '

        Public Shared Sub Main()

            ' Create a new instance of the class.
            Dim myNewQueue As New MyNewQueue()

            ' Send a message to a queue.
            myNewQueue.SendMessage()

            ' Receive a message from a queue.
            myNewQueue.ReceiveMessage()

            Return

        End Sub


        '
        ' Sends an Order to a queue.
        '

        Public Sub SendMessage()

            ' Create a new order and set values.
            Dim sentOrder As New Order()
            sentOrder.orderId = 3
            sentOrder.orderTime = DateTime.Now

            ' Connect to a queue on the local computer.
            Dim myQueue As New MessageQueue(".\myQueue")

            ' Send the Order to the queue.
            myQueue.Send(sentOrder)

            Return

        End Sub


        '
        ' Receives a message containing an Order.
        '

        Public Sub ReceiveMessage()

            ' Connect to the a queue on the local computer.
            Dim myQueue As New MessageQueue(".\myQueue")

            ' Set the formatter to indicate the body contains an Order.
            myQueue.Formatter = New XmlMessageFormatter(New Type() _
                {GetType(Order)})

            Try

                ' Receive and format the message. 
                Dim myMessage As Message = myQueue.Receive()
                Dim myOrder As Order = CType(myMessage.Body, Order)

                ' Display message information.
                Console.WriteLine(("Order ID: " + _
                    myOrder.orderId.ToString()))
                Console.WriteLine(("Sent: " + _
                    myOrder.orderTime.ToString()))

            Catch m As MessageQueueException
                ' Handle Message Queuing exceptions.

            Catch e As InvalidOperationException
                ' Handle invalid serialization format.
                Console.WriteLine(e.Message)


                ' Catch other exceptions as necessary.

            End Try

            Return

        End Sub

End Class

注釈

メッセージ キュー テクノロジを使用すると、異なる時間に実行されているアプリケーションは、一時的にオフラインになる可能性がある異種ネットワークやシステム間で通信できます。 アプリケーションは、キューからメッセージを送信、受信、またはピーク (削除せずに読み取り) します。 メッセージ キューは、Windows 2000 と Windows NT のオプションコンポーネントであり、個別にインストールする必要があります。

クラスは MessageQueue 、メッセージ キューに関するラッパーです。 メッセージ キューには複数のバージョンがあり、 クラスを MessageQueue 使用すると、使用しているオペレーティング システムによって動作が若干異なる場合があります。

クラスは MessageQueue 、メッセージ キュー キューへの参照を提供します。 コンストラクターにパスを指定して既存の MessageQueue リソースに接続することも、サーバーに新しいキューを作成することもできます。 、Peek、または Receiveを呼び出すSend(Object)前に、 クラスの新しいインスタンスをMessageQueue既存のキューに関連付ける必要があります。 その時点で、 や LabelなどのCategoryキュー プロパティを操作できます。

MessageQueue では、同期と非同期の 2 種類のメッセージ取得がサポートされています。 同期メソッド と Receiveを使用すると、Peekプロセス スレッドは、キューに新しいメッセージが到着するまで、指定された時間間隔を待機します。 非同期メソッド と BeginReceiveを使用すると、BeginPeekメッセージがキューに到着するまで、メインアプリケーション タスクを別のスレッドで続行できます。 これらのメソッドは、コールバック オブジェクトと状態オブジェクトを使用してスレッド間で情報を通信することで機能します。

クラスの新しいインスタンスを MessageQueue 作成する場合、新しいメッセージ キュー キューは作成されません。 代わりに、および Purge メソッドをCreate(String)Delete(String)使用して、サーバー上のキューを管理できます。

Create(String)とは異なりPurgeDelete(String)staticメンバーであるため、 クラスのMessageQueue新しいインスタンスを作成せずにそれらを呼び出すことができます。

オブジェクトの MessageQueuePath プロパティは、フレンドリ名、 FormatNameまたは の 3 つの名前のいずれかを使用して Label設定できます。 キューの プロパティと プロパティによってMachineName定義されるフレンドリ名はMachineName\QueueName、パブリック キュー用とMachineNameQueueName\\Private$プライベート キュー用です。QueueName プロパティを FormatName 使用すると、メッセージ キューにオフラインでアクセスできます。 最後に、キューの Label プロパティを使用して、キューの Pathを設定できます。

のインスタンスの初期プロパティ値の MessageQueue一覧については、 コンストラクターを MessageQueue 参照してください。

コンストラクター

MessageQueue()

MessageQueue クラスの新しいインスタンスを初期化します。 パラメーターなしのコンストラクターが新しいインスタンスを初期化した後、そのインスタンスを使用する前にインスタンスの Path プロパティを設定する必要があります。

MessageQueue(String)

指定したパスのメッセージ キューのキューを参照する MessageQueue クラスの新しいインスタンスを初期化します。

MessageQueue(String, Boolean)

指定した読み取りアクセス制限を持つ指定したパスのメッセージ キューのキューを参照する MessageQueue クラスの新しいインスタンスを初期化します。

MessageQueue(String, Boolean, Boolean)

MessageQueue クラスの新しいインスタンスを初期化します。

MessageQueue(String, Boolean, Boolean, QueueAccessMode)

MessageQueue クラスの新しいインスタンスを初期化します。

MessageQueue(String, QueueAccessMode)

MessageQueue クラスの新しいインスタンスを初期化します。

フィールド

InfiniteQueueSize

キューにサイズ制限が存在しないことを示します。

InfiniteTimeout

メッセージをピークまたは受信するメソッドにタイムアウトが存在しないことを示します。

プロパティ

AccessMode

キューのアクセス モードを示す値を取得します。

Authenticate

キューが認証済みメッセージだけを受け入れるかどうかを示す値を取得または設定します。

BasePriority

ネットワーク上でパブリック キューのメッセージを送信するためにメッセージ キューが使用する基本優先順位を取得または設定します。

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。

(継承元 Component)
CanRead

MessageQueue を読み取ることができるかどうかを示す値を取得します。

CanWrite

MessageQueue に書き込むことができるかどうかを示す値を取得します。

Category

キュー カテゴリを取得または設定します。

Container

IContainer を含む Component を取得します。

(継承元 Component)
CreateTime

キューがメッセージ キューに作成された時刻と日付を取得します。

DefaultPropertiesToSend

アプリケーションがメッセージをキューに送信するときに既定で使用されるメッセージ プロパティ値を取得または設定します。

DenySharedReceive

この MessageQueue に、メッセージ キューのキューからメッセージを受信する排他アクセス許可が与えられているかどうかを示す値を取得または設定します。

DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。

(継承元 Component)
EnableConnectionCache

接続のキャッシュをアプリケーションで維持するかどうかを示す値を取得または設定します。

EncryptionRequired

キューが非プライベート (暗号化されていない) メッセージだけを受け入れるかどうかを示す値を取得または設定します。

Events

Component に結び付けられているイベント ハンドラーのリストを取得します。

(継承元 Component)
FormatName

キューの作成時にメッセージ キューが生成した一意のキュー名を取得します。

Formatter

キューから読み取られるメッセージまたはキューに書き込まれるメッセージの本文とオブジェクトとの間でシリアル化または逆シリアル化を行うために使用する書式指定子を取得または設定します。

Id

キューの一意なメッセージ キュー ID を取得します。

Label

キューの説明を取得または設定します。

LastModifyTime

キューのプロパティが最後に変更された時刻を取得します。

MachineName

メッセージ キューのキューが存在するコンピューターの名前を取得または設定します。

MaximumJournalSize

履歴キューの最大サイズを取得または設定します。

MaximumQueueSize

キューの最大サイズを取得または設定します。

MessageReadPropertyFilter

メッセージの受信またはピークに使用するプロパティ フィルターを取得または設定します。

MulticastAddress

MSMQ 3.0 で導入されました。 キューに関連付けられているマルチキャスト アドレスを取得または設定します。

Path

キューのパスを取得または設定します。 Path を設定すると、MessageQueue は新しいキューを指します。

QueueName

キューを識別する表示名を取得または設定します。

ReadHandle

メッセージ キューからメッセージを読み取るときに使用するネイティブ ハンドルを取得します。

Site

ComponentISite を取得または設定します。

(継承元 Component)
SynchronizingObject

ReceiveCompleted イベントまたは PeekCompleted イベントによって発生したイベント ハンドラー呼び出しをマーシャリングするオブジェクトを取得または設定します。

Transactional

キューがトランザクションだけを受け入れるかどうかを示す値を取得します。

UseJournalQueue

受信したメッセージを履歴キューにコピーするかどうかを示す値を取得または設定します。

WriteHandle

メッセージ キューにメッセージを送信するときに使用するネイティブ ハンドルを取得します。

メソッド

BeginPeek()

タイムアウトのない非同期のピーク操作を実行します。この操作は、キューのメッセージが利用可能になるまで完了しません。

BeginPeek(TimeSpan)

指定したタイムアウトのある非同期のピーク操作を実行します。この操作は、メッセージをキューで使用できるようになるか、タイムアウトが発生するまで完了しません。

BeginPeek(TimeSpan, Cursor, PeekAction, Object, AsyncCallback)

指定したタイムアウトがあり、指定したカーソル、ピーク処理、および状態オブジェクトを使用する非同期のピーク操作を実行します。 状態オブジェクトは、操作の有効期間を通じて、関連付けられた情報を提供します。 このオーバーロードは、コールバックを通じて操作のイベント ハンドラー ID の通知を受信します。 この操作は、メッセージをキューで使用できるようになるか、タイムアウトが発生するまで完了しません。

BeginPeek(TimeSpan, Object)

指定したタイムアウトと指定した状態オブジェクトを持つ非同期のピーク操作を実行します。状態オブジェクトは、操作の有効期間を通じて関連付けられた情報を提供します。 この操作は、メッセージをキューで使用できるようになるか、タイムアウトが発生するまで完了しません。

BeginPeek(TimeSpan, Object, AsyncCallback)

指定したタイムアウトと指定した状態オブジェクトを持つ非同期のピーク操作を実行します。状態オブジェクトは、操作の有効期間を通じて関連付けられた情報を提供します。 このオーバーロードは、コールバックを通じて操作のイベント ハンドラー ID の通知を受信します。 この操作は、メッセージをキューで使用できるようになるか、タイムアウトが発生するまで完了しません。

BeginReceive()

タイムアウトのない非同期の受信操作を実行します。この操作は、キューのメッセージが利用可能になるまで完了しません。

BeginReceive(TimeSpan)

指定したタイムアウトのある非同期の受信操作を実行します。この操作は、メッセージをキューで使用できるようになるか、タイムアウトが発生するまで完了しません。

BeginReceive(TimeSpan, Cursor, Object, AsyncCallback)

指定したタイムアウトがあり、指定したカーソルおよび状態オブジェクトを使用する非同期の受信操作を実行します。 状態オブジェクトは、操作の有効期間を通じて、関連付けられた情報を提供します。 このオーバーロードは、コールバックを通じて操作のイベント ハンドラー ID の通知を受信します。 この操作は、メッセージをキューで使用できるようになるか、タイムアウトが発生するまで完了しません。

BeginReceive(TimeSpan, Object)

指定したタイムアウトと指定した状態オブジェクトを持つ非同期の受信操作を実行します。状態オブジェクトは、操作の有効期間を通じて関連付けられた情報を提供します。 この操作は、メッセージをキューで使用できるようになるか、タイムアウトが発生するまで完了しません。

BeginReceive(TimeSpan, Object, AsyncCallback)

指定したタイムアウトと指定した状態オブジェクトを持つ非同期の受信操作を実行します。状態オブジェクトは、操作の有効期間を通じて関連付けられた情報を提供します。 このオーバーロードは、コールバックを通じて操作のイベント ハンドラー ID の通知を受信します。 この操作は、メッセージをキューで使用できるようになるか、タイムアウトが発生するまで完了しません。

ClearConnectionCache()

接続キャッシュを消去します。

Close()

MessageQueue で割り当てられたすべてのリソースを解放します。

Create(String)

指定したパスに非トランザクション メッセージ キューのキューを作成します。

Create(String, Boolean)

指定したパスに、トランザクション メッセージ キューのキューまたは非トランザクション メッセージ キューのキューを作成します。

CreateCursor()

現在のメッセージ キューの新しい Cursor を作成します。

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Delete(String)

メッセージ キュー サーバーのキューを削除します。

Dispose()

Component によって使用されているすべてのリソースを解放します。

(継承元 Component)
Dispose(Boolean)

MessageQueue で使用されていたリソース (メモリを除く) を解放します。

EndPeek(IAsyncResult)

指定した非同期のピーク操作を完了します。

EndReceive(IAsyncResult)

指定した非同期の受信操作を完了します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Exists(String)

指定したパスにメッセージ キューのキューが存在するかどうかを判断します。

GetAllMessages()

キューにあるすべてのメッセージを返します。

GetEnumerator()
古い.

キューに格納されているメッセージを列挙します。 GetEnumerator() は非推奨とされます。 代わりに GetMessageEnumerator2() を使用します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
古い.

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetMachineId(String)

この MessageQueue が参照するキューが存在するコンピューターの ID を取得します。

GetMessageEnumerator()
古い.

キューにあるすべてのメッセージに対して列挙子オブジェクトを作成します。 GetMessageEnumerator() は非推奨とされます。 代わりに GetMessageEnumerator2() を使用します。

GetMessageEnumerator2()

キューにあるすべてのメッセージに対して列挙子オブジェクトを作成します。

GetMessageQueueEnumerator()

ネットワーク上のすべてのパブリック キューを列挙するための順方向専用カーソル セマンティクスをサポートします。

GetMessageQueueEnumerator(MessageQueueCriteria)

指定した基準を満たすネットワーク上のすべてのパブリック キューを列挙するための順方向専用カーソル セマンティクスをサポートします。

GetPrivateQueuesByMachine(String)

指定したコンピューターにあるすべてのプライベート キューを取得します。

GetPublicQueues()

ネットワーク上のすべてのパブリック キューを取得します。

GetPublicQueues(MessageQueueCriteria)

指定した基準を満たすネットワーク上のすべてのパブリック キューを取得します。

GetPublicQueuesByCategory(Guid)

指定したカテゴリに属するネットワーク上のすべてのパブリック キューを取得します。

GetPublicQueuesByLabel(String)

指定したラベルが設定されているネットワーク上のすべてのパブリック キューを取得します。

GetPublicQueuesByMachine(String)

指定したコンピューターにあるすべてのパブリック キューを取得します。

GetSecurityContext()

この呼び出しの時点で現在のユーザーが MSMQ によって関連付けられているセキュリティ コンテキスト (スレッド ID) を取得します。

GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
Peek()

この MessageQueue が参照するキューにある最初のメッセージを、削除せずに返します (ピークします)。 Peek() メソッドは同期メソッドであるため、メッセージが利用可能になるまで、現在のスレッドをブロックします。

Peek(TimeSpan)

この MessageQueue が参照するキューにある最初のメッセージを、削除せずに返します (ピークします)。 Peek() メソッドは同期メソッドであるため、メッセージが利用可能になるか、指定したタイムアウトが発生するまで、現在のスレッドをブロックします。

Peek(TimeSpan, Cursor, PeekAction)

指定されたカーソルを使用して、キュー内の現在のメッセージまたは次のメッセージを、削除せずに返します (ピークします)。 Peek() メソッドは同期メソッドであるため、メッセージが利用可能になるか、指定したタイムアウトが発生するまで、現在のスレッドをブロックします。

PeekByCorrelationId(String)

指定した相関 ID と一致するメッセージをピークします。現在、指定した相関 ID と一致するメッセージがキューに存在しない場合は、すぐに例外を発生させます。

PeekByCorrelationId(String, TimeSpan)

指定した相関 ID と一致するメッセージをピークします。指定した相関 ID のメッセージがキューで利用可能になるか、タイムアウトが経過するまで待機します。

PeekById(String)

メッセージ ID が id パラメーターと一致するメッセージをピークします。

PeekById(String, TimeSpan)

メッセージ ID が id パラメーターと一致するメッセージをピークします。 メッセージがキューに出現するか、タイムアウトが発生するまで待機します。

PeekByLookupId(Int64)

MSMQ 3.0 で導入されました。 非トランザクション キュー内の指定した参照識別子に一致するメッセージをピークします。

PeekByLookupId(MessageLookupAction, Int64)

MSMQ 3.0 で導入されました。 キュー内の特定のメッセージをピークします。 メッセージは、参照識別子で指定することも、キューの前後の位置関係で指定することもできます。

Purge()

キューに含まれるすべてのメッセージを削除します。

Receive()

MessageQueue で参照されるキューで利用できる最初のメッセージを受信します。 この呼び出しは同期呼び出しであるため、メッセージが利用可能になるまで、現在のスレッドの実行をブロックします。

Receive(MessageQueueTransaction)

MessageQueue で参照されるトランザクション キューで利用できる最初のメッセージを受信します。 この呼び出しは同期呼び出しであるため、メッセージが利用可能になるまで、現在のスレッドの実行をブロックします。

Receive(MessageQueueTransactionType)

MessageQueue で参照されるキューで利用できる最初のメッセージを受信します。 この呼び出しは同期呼び出しであるため、メッセージが利用可能になるまで、現在のスレッドの実行をブロックします。

Receive(TimeSpan)

MessageQueue が参照するキューで利用できる最初のメッセージを受信します。キューでメッセージが利用可能になるか、タイムアウトの時間が経過するまで待機します。

Receive(TimeSpan, Cursor)

指定したカーソルを使用して、キューの現在のメッセージを受信します。 利用可能なメッセージがない場合、このメソッドは、メッセージが利用可能になるまで、またはタイムアウトが発生するまで待機します。

Receive(TimeSpan, Cursor, MessageQueueTransaction)

指定したカーソルを使用して、キューの現在のメッセージを受信します。 利用可能なメッセージがない場合、このメソッドは、メッセージが利用可能になるまで、またはタイムアウトが発生するまで待機します。

Receive(TimeSpan, Cursor, MessageQueueTransactionType)

指定したカーソルを使用して、キューの現在のメッセージを受信します。 利用可能なメッセージがない場合、このメソッドは、メッセージが利用可能になるまで、またはタイムアウトが発生するまで待機します。

Receive(TimeSpan, MessageQueueTransaction)

MessageQueue が参照するトランザクション キューで利用できる最初のメッセージを受信します。キューでメッセージが利用可能になるか、タイムアウトの時間が経過するまで待機します。

Receive(TimeSpan, MessageQueueTransactionType)

MessageQueue で参照されるキューで利用できる最初のメッセージを受信します。 この呼び出しは同期的に実行され、メッセージがキューで使用できるようになるか、タイムアウトが経過するまで待機します。

ReceiveByCorrelationId(String)

指定した相関 ID と一致するメッセージを (非トランザクション キューから) 受信します。現在、指定した相関 ID と一致するメッセージがキューに存在しない場合は、すぐに例外を発生させます。

ReceiveByCorrelationId(String, MessageQueueTransaction)

指定した相関 ID と一致するメッセージを (トランザクション キューから) 受信します。現在、指定した相関 ID と一致するメッセージがキューに存在しない場合は、すぐに例外を発生させます。

ReceiveByCorrelationId(String, MessageQueueTransactionType)

指定した相関 ID と一致するメッセージを受信します。現在、指定した相関 ID と一致するメッセージがキューに存在しない場合は、すぐに例外を発生させます。

ReceiveByCorrelationId(String, TimeSpan)

指定した相関 ID と一致するメッセージを (非トランザクション キューから) 受信します。指定した相関 ID のメッセージがキューで利用可能になるか、タイムアウトの時間が経過するまで待機します。

ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransaction)

指定した相関 ID と一致するメッセージを (トランザクション キューから) 受信します。指定した相関 ID のメッセージがキューで利用可能になるか、タイムアウトの時間が経過するまで待機します。

ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransactionType)

指定した相関 ID と一致するメッセージを受信します。指定した相関 ID のメッセージがキューで利用可能になるか、タイムアウトの時間が経過するまで待機します。

ReceiveById(String)

指定した ID と一致するメッセージを非トランザクション キューから受信します。現在、指定した ID と一致するメッセージがキューに存在しない場合は、すぐに例外を発生させます。

ReceiveById(String, MessageQueueTransaction)

指定した ID と一致するメッセージを (トランザクション キューから) 受信します。現在、指定した ID と一致するメッセージがキューに存在しない場合は、すぐに例外を発生させます。

ReceiveById(String, MessageQueueTransactionType)

指定した ID と一致するメッセージを受信します。現在、指定した ID と一致するメッセージがキューに存在しない場合は、すぐに例外を発生させます。

ReceiveById(String, TimeSpan)

指定した ID と一致するメッセージを (非トランザクション キューから) 受信します。指定した ID のメッセージがキューで利用可能になるか、タイムアウトの時間が経過するまで待機します。

ReceiveById(String, TimeSpan, MessageQueueTransaction)

指定した ID と一致するメッセージを (トランザクション キューから) 受信します。指定した ID のメッセージがキューで利用可能になるか、タイムアウトの時間が経過するまで待機します。

ReceiveById(String, TimeSpan, MessageQueueTransactionType)

指定した ID と一致するメッセージを受信します。指定した ID のメッセージがキューで利用可能になるか、タイムアウトの時間が経過するまで待機します。

ReceiveByLookupId(Int64)

MSMQ 3.0 で導入されました。 非トランザクション キュー内の指定した参照識別子に一致するメッセージを受信します。

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

MSMQ 3.0 で導入されました。 特定のメッセージをトランザクション キューから受信します。 メッセージは、参照識別子で指定することも、キューの前後の位置関係で指定することもできます。

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

MSMQ 3.0 で導入されました。 トランザクション コンテキストを指定して、特定のメッセージをキューから受信します。 メッセージは、参照識別子で指定することも、キューの前後の位置関係で指定することもできます。

Refresh()

リソースの現在の状態を反映するには、MessageQueue で表されるプロパティを更新します。

ResetPermissions()

アクセス許可リストをオペレーティング システムの既定値にリセットします。 既定のリストに追加したキューのアクセス許可を削除します。

Send(Object)

この MessageQueue で参照される非トランザクション キューにオブジェクトを送信します。

Send(Object, MessageQueueTransaction)

この MessageQueue で参照されるトランザクション キューにオブジェクトを送信します。

Send(Object, MessageQueueTransactionType)

この MessageQueue で参照されるキューにオブジェクトを送信します。

Send(Object, String)

この MessageQueue で参照される非トランザクション キューにオブジェクトを送信し、メッセージのラベルを指定します。

Send(Object, String, MessageQueueTransaction)

この MessageQueue で参照されるトランザクション キューにオブジェクトを送信し、メッセージのラベルを指定します。

Send(Object, String, MessageQueueTransactionType)

この MessageQueue で参照されるキューにオブジェクトを送信し、メッセージのラベルを指定します。

SetPermissions(AccessControlList)

アクセス制御リストの内容に基づいてアクセス権をキューに割り当てます。

SetPermissions(MessageQueueAccessControlEntry)

アクセス制御エントリの内容に基づいてアクセス権をキューに割り当てます。

SetPermissions(String, MessageQueueAccessRights)

コンピューター、グループ、またはユーザーに指定したアクセス権を与えます。

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

アクセス制御の種類 (許可、拒否、取り消し、またはセット) からいずれかを指定して、コンピューター、グループ、またはユーザーに指定したアクセス権を付与します。

ToString()

Component の名前 (存在する場合) を格納する String を返します。 このメソッドはオーバーライドできません。

(継承元 Component)

イベント

Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されるときに発生します。

(継承元 Component)
PeekCompleted

キューから削除せずにメッセージを読み取ると発生します。 この発生は、非同期操作 BeginPeek() の結果です。

ReceiveCompleted

メッセージがキューから削除されると発生します。 このイベントは、非同期操作 BeginReceive() によって発生します。

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。

適用対象

スレッド セーフ

GetAllMessages()メソッドのみがスレッド セーフです。

こちらもご覧ください