2009-10-23 83 views
0

我有一个WCF服务,它具有webHttpBinding并在其端点行为配置中启用了启用WebScript。当从ContentType为“application/json”的WCF服务返回数据时,reponse.d是什么?

从服务的响应看起来是这样的

HTTP/1.1 200 OK 日期:星期五,2009年10月23日20时09分02秒GMT 服务器:Microsoft-IIS/6.0 X-ASPNET-版本:2.0.50727 Cache-Control:private Content-Type:application/json;字符集= UTF-8 的Content-Length:25

{ “d”:{ “__类型”: “SOMETYPE”,...}}

及其使用HTTP 1.1,因此有标准头。 contentType被设置为applciation/json,这也是有意义的。在邮件正文(JSON部分)中,所有内容都包含在名为“d”的信封中。

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

我找不到在任何相关协议中定义的或“application/json”contentType的定义。

感谢

回答

2

也就是ASP.NET AJAX特定的,通过应用WebScriptEnablingBehavior(enableWebScript在配置)到您的端点所致。包装器在输入和输出上都是必需的,并且在异常处理中还增加了特殊行为。

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

相关问题