質問: WCFで転送されたオブジェクトを収縮/シリアル化したままにする > > **Possible Duplicate:** > > Get Just the Body of a WCf Message > > > おはようございます、 複雑なオブジェクトを構築して消費するクライアントに送信するWCFサービスがあります。現在のところサービスは素晴らしいですが、XMLはクライアント上で再フラッシュ/デシリアライズされており、クライアントがXMLを使用したいと思っているので、これは望ましくありません。 そこで、WCFサービスの応答の一部として送信される「XML文書」を取得する方法があります。もちろん、私はクライアント上でもう一度それをシリアル化することができますが、避けることができれば、なぜ本当に余分な手順を行うのですか? TIA JB
回答: サーバー側とクライアント側の両方で複数のWCF受信/送信ステップに接続する可能性がありますが、シリアライゼーションの実行方法に影響を与える可能性があります(あなたのケースでは実行されません)。シナリオ。 ワークフローを簡素化し、すぐに使える機能を利用する方がよいでしょう。 私は最も簡単なアプローチは、サーバー側でのみオブジェクトを手動でシリアル化し、結果を文字列としてクライアントに返すことだと思います。 柔軟性を保つために(後で直列化データに付随するデータを追加したいかもしれない)、このシリアル化されたXMLを専用の**データ転送オブジェクト(DTO)**のプロパティに入れます。 このDTOは、そのプロパティからXMLを読み取るだけのクライアントに送信されます。 フードの下には、もちろん、まだシリアル化が進行中です。しかし、これは組み込みの機能ハットがWCFサービス/クライアント通信によって完全に透過的に実行されることになります。手動で影響を与える重大な理由がない場合はそのままにしておいてください。あなたが何をしているのかわからない場合は、代わりにPandoraの箱を開けるかもしれません... 上記のDTOのような単純なオブジェクトを送信することは、ここではあまり重要ではありません。つまり、このシナリオは、主にワイヤを介して一連の文字列を送信することになります。これにより、トラブルやオーバーヘッドはほとんどありません。