Windows Communication Foundation のキューQueues in Windows Communication Foundation

このセクションのトピックでは、キューの Windows Communication Foundation (WCF) のサポートについて説明します。The topics in this section discuss Windows Communication Foundation (WCF) support for queues. WCF では、Microsoft Message Queuing (旧称 MSMQ) をトランスポートとして利用してキューをサポートし、次のシナリオを実現します。WCF provides support for queuing by leveraging Microsoft Message Queuing (previously known as MSMQ) as a transport and enables the following scenarios:

  • 疎結合アプリケーション。Loosely coupled applications. 送信元アプリケーションは、受信側アプリケーションでメッセージ処理の用意ができているかどうかを確認せずにキューにメッセージを送信できます。Sending applications can send messages to queues without needing to know whether the receiving application is available to process the message. キューにより処理の独立性が提供されるため、送信元アプリケーションは、受信側アプリケーションのメッセージ処理速度とは関係なく、キューにメッセージを送信できます。The queue provides processing independence that allows a sending application to send messages to the queue at a rate that does not depend on how fast the receiving applications can process the messages. キューに対するメッセージの送信がメッセージ処理と密接に結び付けられていない場合は、システムの全体的な可用性が向上します。Overall system availability increases when sending messages to a queue is not tightly coupled to message processing.

  • エラーの分離。Failure isolation. キューにメッセージを送受信するアプリケーションは、互いに影響を与えずにエラーを発生させることができます。Applications sending or receiving messages to a queue can fail without affecting each other. たとえば、受信側のアプリケーションでエラーが発生しても、送信側のアプリケーションではメッセージをキューに送信し続けることができます。If, for example, the receiving application fails, the sending application can continue to send messages to the queue. 受信側は、エラーからの復帰後、キューにあるメッセージを処理できます。When the receiver is up again, it can process the messages from the queue. エラーの分離により、システムの全体的な信頼性と可用性が向上します。Failure isolation increases the overall system reliability and availability.

  • 負荷の平準化。Load leveling. 送信元アプリケーションから送信するメッセージが多すぎるために、受信側アプリケーションの処理が間に合わなくなることがあります。Sending applications can overwhelm receiving applications with messages. キューによってこの送信側と受信側のメッセージの不均衡が調整されるため、受信側の処理が間に合わなくなることはありません。Queues can manage mismatched message production and consumption rates so that a receiver is not overwhelmed.

  • 操作の切断。Disconnected operations. モバイル デバイスのように遅延の大きなネットワーク、または可用性に制限のあるネットワークを介して通信を行う場合に、送信、受信、および処理の各操作を切断できます。Sending, receiving, and processing operations can become disconnected when communicating over high-latency networks or limited-availability networks, such as in the case of mobile devices. エンドポイントが切断された場合も、キューによってこれらの操作を続行できます。Queues allow these operations to continue, even when the endpoints are disconnected. 接続が再度確立されると、メッセージはキューから受信側アプリケーションに転送されます。When the connection is reestablished, the queue forwards messages to the receiving application.

WCF アプリケーションでキュー機能を使用するには、標準バインディングのいずれかを使用するか、標準バインディングのいずれかが要件を満たさない場合はカスタムバインディングを作成できます。To use the queues feature in a WCF application, you can use one of the standard bindings, or you can create a custom binding if one of the standard bindings does not satisfy your requirements. 関連する標準バインディングとその選択方法の詳細については、「方法: WCF エンドポイントとメッセージキューアプリケーションを使用してメッセージを交換する」を参照してください。For more information about relevant standard bindings and how to choose one, see How to: Exchange Messages with WCF Endpoints and Message Queuing Applications. カスタム バインドを作成する方法の詳細については、「カスタム バインディング」を参照してください。For more information about creating custom bindings, see Custom Bindings.

このセクションの内容In This Section

キューの概要Queues Overview
メッセージ キュー概念について概要を示します。An overview of message queuing concepts.

WCF でのキューQueuing in WCF
WCF キューのサポートの概要について説明します。An overview of WCF queue support.

方法 : WCF エンドポイントを使用してキューに置かれたメッセージを交換するHow to: Exchange Queued Messages with WCF Endpoints
NetMsmqBinding クラスを使用して、WCF クライアントと WCF サービスの間で通信を行う方法について説明します。Explains how to use the NetMsmqBinding class to communicate between a WCF client and WCF service.

方法 : WCF エンドポイントとメッセージ キュー アプリケーションを使用してメッセージを交換するHow to: Exchange Messages with WCF Endpoints and Message Queuing Applications
MsmqIntegrationBinding を使用して、WCF アプリケーションとメッセージキューアプリケーション間の通信を行う方法について説明します。Explains how to use the MsmqIntegrationBinding to communicate between WCF and Message Queuing applications.

セッションでキューに置かれたメッセージのグループ化Grouping Queued Messages in a Session
単一の受信側アプリケーションが関連メッセージを迅速に処理できるように、キューでメッセージをグループ化する方法を説明します。Explains how to group messages in a queue to facilitate correlated message processing by a single receiving application.

トランザクションに含まれるメッセージのバッチ処理Batching Messages in a Transaction
トランザクションでメッセージをバッチ処理する方法について説明します。Explains how to batch messages in a transaction.

配信不能キューを使用したメッセージ転送エラー処理Using Dead-Letter Queues to Handle Message Transfer Failures
配信不能キューを使用してメッセージの転送エラーと配信エラーを処理する方法、および配信不能キューのメッセージを処理する方法を説明します。Explains how to handle message transfer and delivery failures using dead letter queues and how to process messages from the dead letter queue.

有害メッセージ処理Poison Message Handling
有害メッセージ (受信側アプリケーションへの配信試行の回数が最大値を超えたメッセージ) の処理方法を説明します。Explains how to handle poison messages (messages that have exceeded the maximum number of delivery attempts to the receiving application).

Windows Vista、Windows Server 2003、および Windows XP におけるキュー機能の相違点Differences in Queuing Features in Windows Vista, Windows Server 2003, and Windows XP
Windows Vista、Windows Server 2003Windows Server 2003Windows XPWindows XP間の WCF キュー機能の違いの概要を示します。Summarizes the differences in the WCF queues feature between Windows Vista, Windows Server 2003Windows Server 2003, and Windows XPWindows XP.

トランスポート セキュリティを使用したメッセージのセキュリティ保護Securing Messages Using Transport Security
トランスポート セキュリティを使用して、キューに置かれたメッセージを保護する方法を説明します。Describes how to use transport security to secure queued messages.

メッセージ セキュリティを使用したメッセージのセキュリティ保護Securing Messages Using Message Security
メッセージ セキュリティを使用して、キューに置かれたメッセージを保護する方法を説明します。Describes how to use message security to secure queued messages.

キューに置かれたメッセージングのトラブルシューティングTroubleshooting Queued Messaging
一般的なキューの問題をトラブルシューティングする方法について説明します。Explains how to troubleshoot common queuing problems.

キューに置かれた通信のベスト プラクティスBest Practices for Queued Communication
WCF キュー通信を使用するためのベストプラクティスについて説明します。Explains best practices for using WCF queued communication.