好的,所以我有一个带有 put 操作和返回类型 void 的 web api 控制器。当我使用 VS 的内置 iiepxress 运行它并调用它时,我按预期返回 204。这里是标题:
Cache-Control no-cache
Connection close
Content-Type text/html
Date Thu, 10 Oct 2013 19:33:43 GMT
Expires -1
Pragma no-cache
Server Microsoft-IIS/8.0
X-AspNet-Version 4.0.30319
X-Powered-By ASP.NET
当我将完全相同的代码放入我们的 sbx 环境时,我得到一个 204,但带有以下标题:
Cache-Control no-cache
Date Thu, 10 Oct 2013 19:39:59 GMT
Expires -1
Pragma no-cache
Server Microsoft-IIS/7.5
X-AspNet-Version 4.0.30319
X-Identifier 17253
X-Powered-By ASP.NET
相关的区别是第二个中缺少 contentType 。
这造成的问题是,在Firefox(我认为是IE)中,它默认为xml,尝试解析它并失败。
我知道如何通过在我的 web api 控制器中设置我的 contentType 来解决这个问题,但这对我来说似乎不是最好的解决方法。
那么,我要问的是 IIS 中的设置差异可能会导致这种情况吗?
谢谢
注意:我的网址看起来像这样 /foo/bar/2 所以它不是 mimetype。