IIS Express - HTTP错误500.19 0x800700b7 on' mimeMap' for' fileExtension'设置为' .svg'

时间:2014-04-28 20:54:02

标签: asp.net-mvc iis svg mime-types iis-express

我正在添加服务SVG的功能。 WOFF文件到我的Azure托管的Web应用程序。我找到了以下说明:

https://blogs.iis.net/richma/archive/2014/01/07/adding-mime-types-to-your-windows-azure-web-site.aspx

我接下来将以下文本添加到我的Web.config文件中:

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
</staticContent>

这在发布到Azure时有效。但是,现在每当我尝试在本地调试模式下启动网站时,我会从IIS-Express收到以下错误,以获取网站尝试提供的每个资源。

  

HTTP错误500.19 - 内部服务器错误

     

无法访问请求的页面,因为页面的相关配置数据无效。

     

详细错误信息:

     
      
  • 模块:CustomErrorModule
  •   
  • 通知SendResponse
  •   
  • Handler StaticFile
  •   
  • 错误代码0x800700b7
  •   
  • 配置错误无法添加类型&#39; mimeMap&#39;的重复集合条目具有唯一键属性&#39; fileExtension&#39;设置为&#39; .svg&#39;
  •   
  • 配置文件 snip \ web.config
  •   
  • 请求的网址http:// snip :14466 / resources / img / snip .png
  •   
  • 物理路径C:* snip * \ Resources \ img * snip * .png
  •   
  • 登录方法匿名
  •   
  • 登录用户匿名
  •   
     

配置来源:

   58: <mimeMap fileExtension=".json" mimeType="application/json" />
   59: <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
   60: <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>

它显然讨厌我的mimeMap for .svg,但这在Azure网站上运行良好。我是否缺少本地运行Web.config的这些更改?

2 个答案:

答案 0 :(得分:51)

当然,我在发布问题之后找到了这个答案:

Adding <mimeMap> entry Causes 500 for Other Static Content on IIS Express

所以问题是我的本地IIS配置已经加载了模块,同时生产环境也没有。因此,要解决两个环境的问题,您需要确保在加载mimeMaps之前卸载它们。

修复代码如下:

<staticContent>
    <remove fileExtension=".json"/>
    <mimeMap fileExtension=".json" mimeType="application/json" />
    <remove fileExtension=".svg"/>
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <remove fileExtension=".woff"/>
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
</staticContent>

希望这有助于其他人浪费时间寻找解决方案。

答案 1 :(得分:0)

我发现如果您在托管应用的目录中的Web.Config与默认%UserProfile%\Documents\IISExpress\config\applicationhost.config之间重复任何 mimeMap项目,那么它们将全部失败。

相同的解决方案:确保<remove> 每个 <mimeMap>条目。