1

重複の可能性:
WCF メッセージの本文のみを取得する

おはよう、

複雑なオブジェクトを構築し、それを消費クライアントに送信する WCF サービスがあります。現在、サービスはうまく機能していますが、xml はクライアント上で再膨張/逆シリアル化されており、クライアントが XML を操作したいので、これは望ましくありません。

WCF サービス応答の一部として送信される「XML ドキュメント」を取得する方法はありますか。もちろん、クライアントで再度シリアル化することもできますが、回避できるのであれば、実際に追加の手順を実行する必要はありません。

ティアJB

4

1 に答える 1

1

サーバー側とクライアント側の両方で複数の WCF 受信/送信ステップにフックする可能性がありますが、シリアル化の実行方法に影響を与える可能性があります (あなたの場合は実行されません)。シナリオ。

ワークフローを簡素化し、すぐに使用できる機能に固執する方がよいでしょう。

最も簡単な方法は、サーバー側でのみオブジェクトを手動でシリアル化し、結果を文字列としてクライアントに送信することだと思います。

柔軟性を維持するには (シリアル化されたデータに付随するデータを後で追加する必要がある場合があります)、このシリアル化された XML を専用のData Transfer Object (DTO)のプロパティに入れます。

この DTO は、そのプロパティから XML を読み取るだけのクライアントに送信されます。

もちろん、ボンネットの下では、まだいくつかの連載が進行中です。しかし、これは組み込み機能であり、WCF サービス/クライアント通信によって完全に透過的に実行されます。手動で影響を与える深刻な理由がない場合は、そのままにしておきます。何をしているかわからない場合は、代わりにパンドラの箱を開けてください...

上記の DTO のような単純なオブジェクトを送信することは、ここでは大した問題ではありません。つまり、このシナリオは主に一連の文字列をネットワーク経由で送信することになるため、問題は発生せず、オーバーヘッドもほとんどありません。

于 2012-12-28T11:43:42.720 に答える