MessageQueue クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メッセージ キュー サーバーのキューにアクセスできるようにします。
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)とは異なりPurge、 Delete(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 |
Component の ISite を取得または設定します。 (継承元 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 が |
PeekById(String, TimeSpan) |
メッセージ 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) |
IEnumerable を IQueryable に変換します。 |
適用対象
スレッド セーフ
GetAllMessages()メソッドのみがスレッド セーフです。
こちらもご覧ください
.NET
フィードバック
https://aka.ms/ContentUserFeedback。
近日公開予定: 2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub イシューを段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、以下を参照してください:フィードバックの送信と表示