.NET Compact Framework でメッセージング
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
Windows Communication Foundation (WCF) .NET Compact Framework で実装されているのサブセットはメッセージ指向のアプリケーションの構築するため統一プログラミング モデルを提供します。 デスクトップの時にプラットフォーム間でその作業および既存の WCF サービスの対話をサポートにセキュリティで保護されたメッセージング アプリケーションをビルド開発者ことを可能します。
注意
WCF は .NET Compact Framework Version 3.5 とそれ以降のバージョンでサポートされています。
アーキテクチャ
.NET Compact Framework の WCF メッセージングの層は、標準のデスクトップの WCF アーキテクチャ後モデル化されます。 メッセージングの層は、デバイスでサポートされてし、デスクトップ上の既存の WCF サービスに接続するデバイスを有効にします。 サービス ランタイム層は、デバイスに存在しません。
次の図は、チャネル スタック、関連付けられているプロトコル、および WCF バインド要素です。
.NET Compact Framework での WCF メッセージング層
Web サービス セキュリティ バージョン 1. 0 仕様のサポートには、X.509 証明書を使用して SOAP メッセージのセキュリティが含まれます。
Message クラスは、Web サービスのアドレス指定の標準に作成されます。
デスクトップの実装との違い
.NET Compact Framework プロトコルとデスクトップの [サポートされているバインドのフル セット サポートしません。 特定のプロトコルおよびサポートされているバインドの詳細については前のセクションで、アーキテクチャの図を表示します。
.NET Compact Framework で、サービスの実行時の層はできません。 その結果、デスクトップ上の既存の WCF サービスに接続する場合は、次の考慮事項に適用します。
Web.config ファイル内でいくつか設定は変更する必要があります。 詳細については、「方法 : HTTP トランスポートを使用します。」を参照してください。
System.ServiceModel コントラクトのデバイス サポートを追加する場合は、 .NET Compact Framework ServiceModel ユーティリティ ツール (NetCFSvcUtil.exe) を使用して、WCF クライアント プロキシを生成することができます。 このツールは、多くのコントラクトのパラメーターのサポートを .NET Compact Framework で実装します。 .NET Compact Frameworkは、電源社には NetCFSvcUtil.exe が含まれます。 詳細については、 Power Toy .NET Compact Framework を参照してください。
NetCFSvcUtil を使用していない場合は、WCF ServiceModel デスクトップ ユーティリティ ツール (SvcUtil.exe) を使用できによって生成されたコード。 このシナリオでは、生成されたコードから、サポートされていない System.ServiceModel 属性を削除すると必要。 これらの変更と例については、方法 : HTTP トランスポートを使用します。 を参照してください。
さらに、WCF メッセージングの種類と、完全な .NET Framework 内のメンバーのサブセットはサポートします。
次に、WCF のセキュリティ機能に固有の相違点を説明します。
セキュリティ
WCF メッセージングの .NET Compact Framework では、Web サービス セキュリティ機能のサブセットに対応し、X.509 証明書に基づく、SOAP メッセージ セキュリティ サポートします。 WS-Security は、アプリケーション層がすべてサポートされているトランスポートの上に配置できます。 バインドされる要素セキュリティ WCF ではサポートされてメッセージングが SecurityBindingElementAsymmetricSecurityBindingElement。 セキュリティ機能を実装するには、コンストラクターのパラメーターとしての ClientCredentials オブジェクト内の X.509 証明書を WCF クライアント プロキシの渡す必要があります。
トランスポート レベル セキュリティは WCF に対しても、.NET Compact Framework でサポートされています。 これは HttpsTransportBindingElementBasicHttpSecurity をサポートしています。
.NET Compact Framework での WCF セキュリティの実装は、次の方法で、デスクトップ上の実装とは異なります。
バージョン 1. 0 の Web サービス-セキュリティのサブセットだけはサポートされています。
SecurityAlgorithmSuite クラスを Basic256Rsa15 プロパティのみがオペレーティング システム制約のためサポートされます。
メッセージ ヘッダーを暗号化できません。
BasicHttpSecurityMode がサポートされていません。
注意
拡張夏時間保存時間帯にメッセージ セキュリティを使用する送信メッセージは 5 分既定タイムスタンプ検証が有効で、タイムスタンプの検証エラーのため失敗します。拡張夏時間保存時間 3 月の第 2 日曜日と 4 月の第 1 日曜日および間もと間で発生 10 月の最終日曜日、11 月の第 1 日曜日です。この問題を解決をするには、夏時間 (DST) 2007年更新プログラムをインストールします。これは Windows Mobile 5. 0 のビルド 15096.3.0 を実行しているデバイスには適用されません以降、または Windows Mobile 6. 0 以降です。
配置
WCF メッセージングの DLL は、.NET Compact Framework CAB ファイルに配信されます。 マネージ アセンブリはグローバル アセンブリ キャッシュにインストールされます。
デバイスの次のとおりの DLL をメッセージング WCF:
System.ServiceModel.dll
System.Runtime.Serialization.dll
展開を WCF の Exchange Server 電子メール トランスポートの展開もします。 デバイスとデスクトップ展開については、WCF Exchange Server のメール トランスポート を参照してください。
ログ
デスクトップ .NET Framework での WCF には、次の 3 つの種類ログのサポートします。トレース、メッセージング、およびイベントのログ出力します。 .NET Compact Framework で WCF はトレースのみをコードの例外を追跡するログ サポートしますが警告とエラー メッセージは記録されません。 レジストリ キーが使用するログを構成にします。
WCF の情報を記録、まず、.NET Compact Framework のログを有効にします。 ログを有効にする方法と、WCF のトレース ログを有効にする方法についての詳細は、方法 : ログ ファイルを作成します。 を参照してください。