2011-09-26 2 views
0

IDispatchMessageInspectorとBeforeSendReplyメソッドを使用してクライアントに返す前にリプレイを変更したいが、メッセージがシリアル化されるのが遅すぎる。serializationの前に挿入する

これはサービスによって返されたデータを変更するが、シリアル化されていないデータを変更する別のwcfインターフェイスですか?

私はタイプを受け入れるときに、新しいデータを生成し、自分のシリアル化を行うには、サービスによってデータリターンを使用するには、text/htmlの

答えて

1

リターンオブジェクト間で変換し、送信メッセージがIDispatchMessageFormatter成分です。コンテンツネゴシエーション(受信Acceptヘッダーに応じて応答形式を変更する)は、 "古典的な" WCFで実行可能ですが、それに対処するために独自のフォーマッタを記述する必要があります - 受信要求では、それはどこか(操作コンテキストのような)、出力応答ではそのヘッダの値を取得し、出力応答をどのようにフォーマットするかを決定します。

ただし、WCF Web APIを使用すると、コンテンツのネゴシエーションが非常に簡単になり、まさにそのようなサンプルがたくさんあります。 http://wcf.codeplex.comで確認してください。Content Managerのサンプルにはいくつかのコンテンツネゴシエーション機能があります。

+0

IDispatchMessageFormatterは素晴らしい仕事です! – netmajor

関連する問題