6

このWikiは、WCFで相互運用可能なWebサービス(クライアントではない)を作成するためのベストプラクティスを収集するために開始しています。一般的に相互運用できない、または特定のプラットフォームと相互運用できない機能をご存知の場合は、経験を共有してください。

4

3 に答える 3

4

かなり単純です:

  • 例外などの.NETの詳細を回避します(SOAP障害に変換します)

  • netnetTcp、netNamedPipes、netMsmqなどで始まるバインディングを使用しないでください-wsHttpBinding安全なWS- *サービスに使用しbasicHttpBinding、最も奇妙なクライアントプラットフォームとの最大の到達範囲/互換性のために使用します

  • NetDataContractSerializerを使用しないでください

于 2010-08-19T18:44:14.633 に答える
3

一般的な相互運用性:

  • HTTPおよびHTTPSトランスポートチャネルのみが相互運用可能です
  • セキュリティクレデンシャルのネゴシエーションは相互運用可能ではありません(メッセージセキュリティのnegotiateServiceCredential)。TLSNegoまたはSPNegoプロトコルを使用しますが、これらは他のプラットフォームで常にサポートされているわけではありません。
  • HTTPストリーミングも問題を引き起こす可能性があります
  • HTTPチャネルを介したバイナリエンコーディングは相互運用可能ではありません
  • OleTransactionsは相互運用可能ではありません
  • サービスセキュリティコンテキストは注意して使用してください(メッセージセキュリティのestabilishSecurityContext)。一部のプラットフォームでは使用できないWS-Secure会話プロトコルを使用します

編集:

  • WSDualHttpBindingとCompositeDuplexBindingElementは相互運用可能ではありません
于 2010-08-19T18:48:34.860 に答える
3

複数のシリアル化形式を公開するWCFRESTをお勧めします。初心者には間違いなくxmlです。

于 2010-08-19T18:44:48.613 に答える