System.Messagingとは何? わかりやすく解説 Weblio辞書 (original) (raw)
System.Messaging 名前空間は、ネットワークのメッセージ キューへの接続、監視、および管理を行い、メッセージの送信、受信、またはピークを行うことができるクラスを提供します。
MessageQueue クラスのメンバには、キューのメッセージの読み取りおよび書き込みのための次のメソッドがあります。
- Send メソッドを使用すると、アプリケーションを使用してキューにメッセージを書き込むことができます。メソッドをオーバーロードすると、メッセージを送信するときに (送信する情報を詳細に制御する) Message を使用するか、またはアプリケーション固有のクラスなど他のマネージ オブジェクトを使用するかを指定できます。このメソッドは、トランザクションの一部としてのメッセージの送信もサポートします。
- Receive、ReceiveById、ReceiveByCorrelationId の各メソッドは、キューからメッセージを読み取るための機能を提供します。**Send** メソッド同様、これらのメソッドはトランザクション キューの処理をサポートするオーバーロードを提供します。これらのメソッドは、キューが空の場合に処理を継続できるようにするタイムアウト パラメータを持つオーバーロードも提供します。
これらのメソッドは同期処理の例であるため、タイムアウトを指定しない限り、メッセージを受け取るまで現在のスレッドを中断します。 - Peek メソッドは Receive と類似していますが、メッセージを読み取ったときにキューからメッセージを削除しません。**Peek** はキューの内容を変更しないため、トランザクション処理をサポートするオーバーロードはありません。ただし、**Peek** は Receive と同様にキューから同期的にメッセージを読み取るため、メソッドのオーバーロードはタイムアウトの指定をサポートしてスレッドが無限に待機することを防止します。
- BeginPeek、EndPeek、BeginReceive、EndReceive の各メソッドは、キューから非同期的にメッセージを読み取るメソッドを提供します。これらのメソッドは、メッセージがキューに到達するのを待機している間に現在のスレッドを中断することはありません。
MessageQueue クラスの以下のメソッドは、指定した基準によりキューのリストを取得し、特定のキューが存在するかどうかを確認する機能を提供します。
- GetPrivateQueuesByMachine を使用すると、コンピュータ上のプライベート キューを取得できます。
- GetPublicQueuesByCategory、GetPublicQueuesByLabel、および GetPublicQueuesByMachine は、共通の基準によりパブリック キューを取得する方法を提供します。GetPublicQueues のオーバーロードは、複数の検索基準に基づくキューの選択の詳細を提供します。
MessageQueue クラスの他のメソッドは、次の機能を提供します。
- Message Queueing キューを作成および削除する。
- メッセージの列挙子を使用して、キュー内のメッセージをステップ実行する。
- キューの列挙子を使用して、システム上のキューを反復処理する。
- ACL ベースのアクセス権を設定する。
- 接続キャッシュを操作する。
Message クラスは、ユーザーがキューに送信した情報の詳細な制御を提供し、キューからメッセージを受信またはピークを行うときに使用されるオブジェクトです。**Message** クラスのプロパティには、メッセージ本文の他、受信確認設定、フォーマッタ選択、識別、認証情報および暗号化情報、タイムスタンプ、トレース、サーバー履歴、配信不能キューの使用に関する指示、およびトランザクション データがあります。
MessageQueue コンポーネントは、キューから送受信したメッセージをシリアル化および逆シリアル化できる、次の 3 つのフォーマッタに関連付けられています。
- XmlMessageFormatter は疎結合メッセージを提供し、シリアル化された型をクライアントとサーバーで独立してバージョン管理できます。
- ActiveXMessageFormatter は MSMQ COM コントロールと互換性があります。このフォーマッタによりコントロールが受信できる型を送信し、コントロールが送信した型を受信できます。
- BinaryMessageFormatter は XmlMessageFormatter の代替となるより高速なフォーマッタですが、疎結合メッセージングの機能はありません。
Messaging 名前空間の他のクラスはコード アクセス セキュリティおよび ACL ベースのセキュリティをサポートしており、キューからメッセージを読み取るときに Message プロパティをフィルタ処理し、メッセージの送受信時にトランザクションを使用します。
| | クラス | 説明 | |
| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| AccessControlEntry | 共通タスクのアプリケーション固有の実装を行うトラスティ (ユーザー、グループ、またはコンピュータ) のアクセス権を指定します。 |
|
| AccessControlList | 1 つ以上のトラスティのアクセス権を指定したアクセス制御エントリのリストを格納しています。 |
|
| ActiveXMessageFormatter | MSMQ ActiveX コンポーネントと互換性があるフォーマットを使用して、メッセージ キュー メッセージの本文との間でプリミティブ データ型とほかのオブジェクトのシリアル化または逆シリアル化を行います。 |
|
| BinaryMessageFormatter | バイナリ形式を使用して、オブジェクト、または関連付けられたオブジェクトのグラフ全体を、メッセージ キューのメッセージの本文にシリアル化、またはメッセージ キューのメッセージの本文から逆シリアル化します。 |
|
| Cursor | Cursor は、キューのメッセージを読み取るときに、**MessageQueue** 内の特定の場所を維持するために使用されます。 |
|
| DefaultPropertiesToSend | Message インスタンス以外のオブジェクトをメッセージ キューに送信するときに使われるプロパティの既定値を指定します。 |
|
| Message | メッセージ キューのメッセージを定義するのに必要なプロパティへのアクセスを実現します。 |
|
| MessageEnumerator | メッセージ キュー内のメッセージを列挙するための前方向カーソルを提供します。 |
|
| MessagePropertyFilter | メッセージ キューからメッセージをピークまたは受信するときに取得されるプロパティを制御および選択します。 |
|
| MessageQueue | メッセージ キューサーバーのキューにアクセスできるようにします。 |
|
| MessageQueueAccessControlEntry | メッセージ キューのタスクを実行するトラスティ (ユーザー、グループ、またはコンピュータ) のアクセス権を指定します。 |
|
| MessageQueueCriteria | MessageQueue クラスの GetPublicQueues メソッドを使用してクエリを実行するときに、メッセージ キューにフィルタをかけます。 |
|
| MessageQueueEnumerator | メッセージ キュー内のメッセージを列挙するための前方向カーソルを提供します。 |
|
| MessageQueueException | Microsoft メッセージ キュー内部エラーが発生した場合にスローされる例外。 |
|
| MessageQueueInstaller | アプリケーションの実行に必要なキューのインストールと構成ができます。このクラスは、**MessageQueue** をインストールするときに、InstallUtil.exe などのインストール ユーティリティによって呼び出されます。 |
|
| MessageQueuePermission | メッセージのコード アクセス許可を制御できるようにします。 |
|
| MessageQueuePermissionAttribute | 宣言 MessageQueue のアクセス許可をチェックできるようにします。 |
|
| MessageQueuePermissionEntry | メッセージのためのコード アクセス セキュリティのアクセス許可セットの最小単位を定義します。 |
|
| MessageQueuePermissionEntryCollection | 厳密に型指定された MessageQueuePermissionEntry オブジェクトのコレクションを格納します。 |
|
| MessageQueueTransaction | メッセージ キューの内部トランザクションを提供します。 |
|
| MessagingDescriptionAttribute | プロパティまたはイベントの説明を指定します。 |
|
| PeekCompletedEventArgs | PeekCompleted イベントのデータを提供します。非同期のピーク操作がイベント ハンドラを呼び出すと、そのクラスのインスタンスがハンドラに渡されます。 |
|
| ReceiveCompletedEventArgs | ReceiveCompleted イベントのデータを提供します。非同期の受信操作がイベント ハンドラを呼び出すと、このクラスのインスタンスがハンドラに渡されます。 |
|
| SecurityContext | キュー内のメッセージのセキュリティ コンテキストを表します。 |
|
| Trustee | アクセス制御エントリの適用先のユーザー アカウント、グループ アカウント、またはログオン セッションを指定します。 |
|
| XmlMessageFormatter | XSD スキーマ定義の XML 書式を使用して、メッセージ本文との間でオブジェクトをシリアル化および逆シリアル化します。 |
| | インターフェイス | 説明 | |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| IMessageFormatter | メッセージ キューのメッセージの本文からオブジェクトをシリアル化または逆シリアル化します。 |
| | デリゲート | 説明 | |
| ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| PeekCompletedEventHandler | MessageQueue の PeekCompleted イベントを処理するメソッドを表します。 |
|
| ReceiveCompletedEventHandler | MessageQueue の ReceiveCompleted イベントを処理するメソッドを表します。 |
| | 列挙体 | 説明 | |
| ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| AccessControlEntryType | トラスティのアクセス権の許可、拒否、または取り消しを行うかどうかを指定します。 |
|
| AcknowledgeTypes | メッセージ キューが送信元アプリケーションに返す受信確認メッセージのタイプを指定します。 |
|
| Acknowledgment | 試行されたメッセージ配信の結果を指定します。 |
|
| CryptographicProviderType | デジタル署名の検証に使用できる暗号サービス プロバイダを指定します。 |
|
| EncryptionAlgorithm | プライベート メッセージの本文を暗号化するために使われる暗号化アルゴリズムを指定します。 |
|
| EncryptionRequired | キューによって受信されたメッセージのプライバシ レベルを指定します。 |
|
| GenericAccessRights | Windows 2000 および Windows NT のアクセス形式を使用して、メッセージ キューによって、読み取り、書き込み、および実行のための標準アクセス権とオブジェクト固有のアクセス権の両方に割り当てられる、共通アクセス権のセットを指定します。 |
|
| HashAlgorithm | メッセージを認証するときにメッセージ キューによって使用されるハッシュ アルゴリズムを指定します。 |
|
| MessageLookupAction | メッセージ キューからピークまたは受信するメッセージを指定します。 |
|
| MessagePriority | メッセージがキューへ送信されている間、およびメッセージを送信先キューに挿入するときに、メッセージ キューによってメッセージに適用される優先順位を指定します。 |
|
| MessageQueueAccessRights | メッセージ キュー固有の操作のためのオブジェクト固有のアクセス権のセットを指定します。 |
|
| MessageQueueErrorCode | メッセージ キュー アプリケーション内で発生した、MessageQueueException 例外を生成したエラーの原因を識別します。 |
|
| MessageQueuePermissionAccess | System.Messaging アクセス許可クラスによって使用されるアクセス レベルを定義します。 |
|
| MessageQueueTransactionStatus | 内部メッセージ キュー トランザクションの状態を指定します。 |
|
| MessageQueueTransactionType | メッセージ キュー トランザクションのタイプを指定します。 |
|
| MessageType | メッセージのタイプを識別します。使用できるメッセージのタイプとして、通常のメッセージ キューのメッセージ、肯定受信確認メッセージ (到着および読み取り) または否定受信確認メッセージ (到着および読み取り)、レポート メッセージがあります。 |
|
| PeekAction | キュー内の現在のメッセージまたは次のメッセージのどちらをピークするかを示します。 |
|
| QueueAccessMode | MessageQueue のアクセス モードを作成時に指定します。 |
|
| StandardAccessRights | セキュリティ設定できるオブジェクトのほとんどの型に共通する操作に対応する標準アクセス権のセットを指定します。 |
|
| TrusteeType | トラスティの型を指定します。 |
