を実装して、WCF にメッセージ インスペクターを実装しIDispatchMessageInspector
ました。
このメソッドにブレークポイントを設定しています...
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
{
// Impementation
}
…request
オブジェクトを見て、中身を確認できます。
明らかに、私が使用するエンドポイント バインディング (basichttp、nettcp、および netpipe) が何であれ、内部のメッセージは常に SOAP 形式で表されるため、WCF を十分に理解していません。
<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Header>
-- headers --
</s:Header>
<s:Body>
-- body --
</s:Body>
</s:Envelope>
これは、リクエスト オブジェクトで .ToString() を実行すると、単にメッセージが SOAP 形式で表されるためですか?
netTcp などの別のプロトコルを使用すると、別のメッセージ ペイロードが生成されると想像しました。
また、JSON 形式で自分のデータを表現したいとしましょう。これを行うにはどうすればよいでしょうか? それとも、SOAP エンベロープ内の JSON 形式のデータ構造になってしまうのでしょうか?