从内容类型为“application / json”的WCF服务返回数据时,response.id是什么?

时间:2009-10-23 21:13:30

标签: wcf json web-services

我有一个具有webHttpBinding的WCF服务,并在其端点行为配置中启用了enableWebScript。

服务的响应看起来像这样

HTTP / 1.1 200好的 日期:2009年10月23日星期五20:09:02 GMT 服务器:Microsoft-IIS / 6.0 X-AspNet-版本:2.0.50727 缓存控制:私有 Content-Type:application / json;字符集= utf-8的 内容长度:25

{“d”:{“_ _ type”:“SOMETYPE”,...}}

它使用HTTP 1.1,因此有标准标头。 contentType设置为applciation / json,这也是有意义的。在消息体(JSON部分)中,所有内容都包含在标题为“d”的信封中。

那是什么?谁定义了该协议?它是WCF特有的东西吗?

我找不到所涉及的任何协议中定义的内容或“application / json”contentType的定义。

由于

1 个答案:

答案 0 :(得分:2)

这是特定于ASP.NET AJAX的,是由于将WebScriptEnablingBehavior(config中的enableWebScript)应用于您的端点所致。输入和输出都需要包装器,并且还会在异常处理时添加特殊行为。

如果你想要“纯粹的”JSON,你应该删除WebScriptEnablingBehavior并只使用WebHttpBehavior(配置中的webHttp)。然后,只需确保在Request上明确设置ResponseFormat / WebGet/InvokeAttributes属性。