.NET Compact Framework の MSMQ
更新 : 2007 年 11 月
.NET Compact Framework では、Windows Embedded CE のメッセージ キュー (MSMQ) をサポートしています。MSMQ を使用すると、一時的にオフラインのネットワークやシステム経由でも、アプリケーション間の通信を行うことができます。
.NET Compact Framework で MSMQ を使用するサンプル全体については、「MSMQ 書籍注文アプリケーション サンプル」を参照してください。
このサービスを使用するには、アプリケーションからメッセージをメッセージ キューに送信します。メッセージ キューには、送信側アプリケーションと受信側アプリケーションが同じデバイスにある場合でも、異なるデバイスにある場合でも、両方のメッセージを保持できます。
ネットワーク接続が確立すると、受信側アプリケーションが起動しているかどうかには関係なく、MSMQ からリモート キューにメッセージが送信されます。受信側アプリケーションは、ローカル キューでいつでもメッセージをチェックできます。
MSMQ は Pocket PC 上の Windows Embedded CE オペレーティング システムには組み込まれていませんが、インストールしてサービスを起動し、サービスを使用するアプリケーションを作成できます。次に、MSMQ コンポーネントの入手方法について説明します。
Windows Mobile 2003 for Pocket PC SDK には、Windows Mobile 2003 for Pocket PC を実行する Pocket PC 向けの MSMQ があります。
Windows Mobile Version 5.0 software for Pocket PC または Smartphone を実行するデバイスは、「Redistributable Server Components for Windows Mobile 5.0」から MSMQ コンポーネントをダウンロードできます。
MSMQ は、Windows Mobile 2003 for Smartphone では使用できません。
MSMQ は、Microsoft Platform Builder を使用して Windows Embedded CE デバイスを開発する場合、使用できます。
Windows Mobile 2003 for Pocket PC では、HTTP ベースの SOAP リライアブル メッセージ プロトコル (SRMP) をサポートしていません。そのため、メッセージを送信するには専用の MSMQ プロトコルを使用する必要があります。SRMP は Windows Mobile Version 5.0 でサポートされています。
.NET Compact Framework では、メッセージ キューとやり取りするメッセージのシリアル化と逆シリアル化について、XmlMessageFormatter のみをサポートしています。
.NET Compact Framework では次の機能はサポートしていません。これは Windows Embedded CE で使用できないためです。
複数のメッセージ トランザクション。トランザクションのサポートは単一メッセージ トランザクションに限定されています。
リモート キューの読み取り。
暗号化。
アクセス制御リスト (ACL) に基づくセキュリティ。
MQMail。
Active Directory に基づくパブリック キュー。
デバイスで Active Directory がサポートされないため、.NET Compact Framework はリモート キューがトランザクションできるかどうかを判断できません。メッセージをリモート トランザクション キューに送信するには、次の条件があります。
文字列の path パラメータを使用する MessageQueue コンストラクタのキュー パスと、Path プロパティに、;XACTONLY を追加します。
このパラメータを使用する Send メソッドの MessageQueueTransactionType に、Single を指定します。
.NET Compact Framework では、System.Messaging 名前空間の次の型をサポートしていません。
MessageQueuePermissionAttribute |
参照
処理手順
方法 : .NET Compact Framework で MSMQ を使用する