Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以JSON作为响应格式调用WCF Rest方法要求下载文件?_C#_Wcf_Json - Fatal编程技术网

C# 以JSON作为响应格式调用WCF Rest方法要求下载文件?

C# 以JSON作为响应格式调用WCF Rest方法要求下载文件?,c#,wcf,json,C#,Wcf,Json,这与以下内容有关,但我想我会创建另一个帖子,这样问题就不会变得太复杂: 当我将响应格式更改为XML时,浏览器会正确返回响应,但如果我尝试使用JSON作为响应格式,它会询问我是否要下载该文件。为了查看文件中的内容,我下载了它,它包含纯文本json格式的响应。是否缺少一些配置?这可能与JSON http响应中的MIME类型没有设置为浏览器“认为”应该在页面中打开的内容有关 在WebGet属性中,您的WebMessageBodyStyle设置为什么 请参见这与预期完全一致。原因如下 WCF JSON响

这与以下内容有关,但我想我会创建另一个帖子,这样问题就不会变得太复杂:


当我将响应格式更改为XML时,浏览器会正确返回响应,但如果我尝试使用JSON作为响应格式,它会询问我是否要下载该文件。为了查看文件中的内容,我下载了它,它包含纯文本json格式的响应。是否缺少一些配置?

这可能与JSON http响应中的MIME类型没有设置为浏览器“认为”应该在页面中打开的内容有关

WebGet
属性中,您的
WebMessageBodyStyle
设置为什么


请参见

这与预期完全一致。原因如下

WCF JSON响应的内容类型为“application/JSON”。大多数常见的浏览器不会内联显示这种内容类型的内容,因为它们不知道如何处理“application/json”内容。换句话说,他们对待它的方式不同于纯文本、HTML、XML或JPEG内容

该服务没有问题,WCF或IIS中也没有设置允许您配置服务或服务端,从而使浏览器不再提示您下载


不过,您可以尝试更改IE或浏览器处理内容类型的方式。这里有一个可能的起点:

WebMessageFormat是JSON,它要求我下载文件。如果我将其保留为XML,它将显示在浏览器中。我问的是WebMessageBodyStyle,而不是WebMessageFormat。