1つのメソッドがxmlの結果を返し、もう1つのメソッドがjsonの結果を返すことになっていることを除いて、実質的に同じWCFサービスコードがいくつかあります。
[ServiceContract]
public interface IRestServiceImpl
{
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "xml/{id}")]
string XMLData(string id);
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "json/{id}")]
string JSONData(string id);
}
xmlは正常に機能します(たとえば、ブラウザーに「http:// localhost:4841 / RestServiceImpl.svc / xml / 2468」と入力すると)。
ただし、「http:// localhost:4841 / RestServiceImpl.svc / json / 2468」と入力すると、「ファイルのダウンロード-セキュリティの警告」ダイアログが表示され、ファイル(この場合は「2468」という名前)を保存できます。 、メモ帳で開いたときに次のものが含まれます。
{"JSONDataResult":"製品2468をリクエストしました"}
これは「設計どおり」(jsonの結果をファイルに保存するため)ですか、それともxml-o-ramaと同じように機能しないのですか?