8

私はたくさんのメソッドを持つWebサービスを書いています。これらはすべて、次のように設定されています。

[OperationContract]
    [WebInvoke(
        BodyStyle = WebMessageBodyStyle.Bare,
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json,
        UriTemplate = "x/y/z")]
    void someMethod(int x, int y, int z);

私がやりたいのは、web.configファイルでデフォルトの//すべてを設定することですBodyStyle。今、私はこれを行うことができることを知っています:RequestFormatResponseFormat

  <endpointBehaviors>
    <behavior name="webHttpBehavior">
      <webHttp defaultBodyStyle="Bare" defaultOutgoingResponseFormat="Json" />
    </behavior>
  </endpointBehaviors>

しかし、RequestFormatの属性はないようです。RequestFormatデフォルトをJSONに設定するにはどうすればよいですか?

4

2 に答える 2

5

リクエストタイプはWCFによって自動的に解釈されるRequestFormatため、サービス操作のデフォルトを指定する必要はありません。

サポートされているリクエスト形式を適用しようとしている場合は、リクエストコンテンツタイプの適用に関するこの関連するSOの投稿を参照してください。

注:RequestFormat操作にを割り当てることは意味がありませんWebGet。定義上、aにはJSON形式が存在する場所であるWebGetaを含めることはできません。Bodyここでのより良い例はですWebInvoke

于 2012-08-03T13:19:42.663 に答える
1

web.configファイルwebHttp要素にautomaticFormatSelectionEnabledプロパティを設定しますtrue

<behaviors>
   <endpointBehaviors>
      <behavior>
         <webHttp automaticFormatSelectionEnabled="true" />
      </behavior>
   </endpointBehaviors>
</behaviors>


例:Accept:application/json受信終了を設定してJSON結果を取得できます。

郵便配達員の画面

Jsonの応答

================================================== ==================

Xml応答


https://msdn.microsoft.com/en-us/library/ee476510(v=vs.110).aspx

于 2015-07-17T09:22:06.127 に答える