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