我 - 再次 - 我的WebAPI应用程序中存在问题。
我正在尝试在不同版本的IIS(7,7.5,8)上部署。较新的版本似乎有.json的全局MIME处理程序,而旧版本没有。
当IIS找不到MIME处理程序时,该文件不存在。因此,对于旧版本,我在web.config中创建了一个本地MIME处理程序。 棘手的部分是:如果它找到其中两个(一个全局和一个本地),它就会停止工作 - 即使它们都是相同的,IIS也不知道选择哪一个(wtf!?)并且只抛出错误。 / p>
我是否可以在web.config中应用一个开关,该开关指出只有在此扩展名没有其他MIME的情况下才能使用MIME?
如果没有,我可以告诉VisualStudio部署不同版本的web.config,具体取决于部署配置文件 - 和/或我可以在web.config中应用基于IIS版本的交换机吗?
答案 0 :(得分:9)
处理此问题的最简单方法是使用remove选项进行mime映射,如下所示:
<system.webServer>
...
<staticContent>
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
这里详细讨论: