我有一个具有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的定义。
由于
答案 0 :(得分:2)
这是特定于ASP.NET AJAX的,是由于将WebScriptEnablingBehavior(config中的enableWebScript)应用于您的端点所致。输入和输出都需要包装器,并且还会在异常处理时添加特殊行为。
如果你想要“纯粹的”JSON,你应该删除WebScriptEnablingBehavior并只使用WebHttpBehavior(配置中的webHttp)。然后,只需确保在Request上明确设置ResponseFormat / WebGet/InvokeAttributes属性。