IIS仅在不存在时添加MIME

IIS仅在不存在时添加MIME,iis,mime-types,Iis,Mime Types,我的WebAPI应用程序再次出现问题 我正在尝试在不同版本的IIS(7、7.5、8)上部署。较新版本似乎有一个.json的全局MIME处理程序,而较旧版本则没有 当IIS找不到MIME处理程序时,该文件不存在。因此,对于旧版本,我在web.config中创建了一个本地MIME处理程序。 棘手的部分是:如果它找到其中两个(一个全局和一个本地),它将停止工作-即使它们都是相同的,IIS也不知道选择哪一个(wtf!?),只会抛出错误 我是否可以在web.config中应用一个开关,该开关规定只有在没有

我的WebAPI应用程序再次出现问题

我正在尝试在不同版本的IIS(7、7.5、8)上部署。较新版本似乎有一个.json的全局MIME处理程序,而较旧版本则没有

当IIS找不到MIME处理程序时,该文件不存在。因此,对于旧版本,我在web.config中创建了一个本地MIME处理程序。 棘手的部分是:如果它找到其中两个(一个全局和一个本地),它将停止工作-即使它们都是相同的,IIS也不知道选择哪一个(wtf!?),只会抛出错误

我是否可以在web.config中应用一个开关,该开关规定只有在没有其他MIME可用于此扩展的情况下才能使用MIME


如果没有,我可以告诉VisualStudio根据部署配置文件部署不同版本的web.config吗?和/或我可以在web.config中应用基于IIS版本的开关吗?

处理此问题的最简单方法是对mime映射使用删除选项,如下所示:

<system.webServer>
  ...
  <staticContent>
    <remove fileExtension=".woff" />
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
  </staticContent>
</system.webServer>

...
这里将详细讨论:

这里还有一个参考:

对我来说,它抛出了一个异常,无法删除不存在的内容。