从WCF服务提供Json,在IIS中没有扩展

时间:2010-09-16 13:39:52

标签: json iis browser wcf

我有一个WCF服务设置为通过多个端点(SOAP,JSON和XML)提供服务,SOAP和XML工作正常,但是当我尝试查看json时,我得到一个提示,用json下载文件结果而不是在浏览器中显示结果。这可能无关紧要,因为客户端很可能会消耗来自某种.net环境的数据,该环境能够原生地处理响应,但我想看看是否有办法在json中显示json结果浏览器就像XML结果一样。

我用来获取结果的网址示例: http://localhost/api/Service.svc/json/GetResults?name=Test&test=test

然后提示我下载名为“GetReults”但没有扩展名的文件,文件类型为:application / json

2 个答案:

答案 0 :(得分:0)

这正是所期望的行为。返回响应的内容类型是“application / json”。大多数浏览器无法以内联类型显示内容(除非手动配置),因此它们会提示您下载文件。

如果你实际保存了这个文件,并打开它 - 比如注意记事本 - 你会注意到纯JSON响应包含在文件中。

然而,无法处理此内容类型以及强制执行此下载的浏览器几乎不会成为问题。原因是,使用此JSON端点的一般用例是ASP.NET AJAX框架驱动的网页(自动生成这些请求并自行解析响应),Python或Perl等脚本环境(这也是获取请求然后解析它们,或自定义JavaScript框架。

希望这有帮助!

答案 1 :(得分:0)

如果您的目标是在浏览器中查看json响应的内容,则在Firefox中更改您的设置,或者使用其他浏览器。我尝试过与IE类似的东西,它在浏览器中显示了json内容而没有做任何更改。不确定Chrome会做什么。

我有一个与我发布请求的休息电话类似的情况。我在Grails做了一个模拟休息服务,并注意到当我点击带有Firefox的实时服务器或我的模拟服务器时,它一直要求我下载文件,而不是IE。我现在正在处理的问题是我试图用SoapUI命中我的模拟端点,它也要求我下载文件。如果我使用SoapUI点击实时服务器,它不会要求我下载该文件。

仍然试图解决这个问题。