イメージ/ファイル/etc をバイト配列で返す単純な WCF REST メソッドがあります。
[OperationContract]
[WebGet(UriTemplate = "TestMethod")]
byte[] TestMethod();
webHttpBinding
サービス コントラクトは、次の動作で にバインドされます。
<endpointBehaviors>
<behavior name="webHttpBehavior">
<webHttp defaultOutgoingResponseFormat="Json" />
</behavior>
</endpointBehaviors>
バイト配列が次のようにフォーマットされていることを除いて、メソッドは正常に機能します。
[25,15,23,64,6,5,2,33,12,124,221,42,15,64,142,78,3,23]
属性を削除するdefaultOutgoingResponseFormat="Json"
と、サービスはデフォルトで XML 形式になり、結果は次のように Base64 でエンコードされます。
GQ8XQAYFAiEMfN0qD0COTgMX
これにより、特にデータが大きくなる場合に、データ転送が節約されます。
JSON 出力形式の Base64 エンコーディングを有効にするにはどうすればよいですか?