asp.net-mvc - IIS Express - 'mimeMap' 上的 HTTP 错误 500.19 0x800700b7( 'fileExtension' 设置为 '.svg')

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

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

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 时有效。但是,现在每当我尝试为网站尝试提供服务的每个资源在本地以 Debug模式启动网站时,IIS-Express 都会出现以下错误。

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.

Detailed Error Information:

  • Module: CustomErrorModule
  • Notification SendResponse
  • Handler StaticFile
  • Error Code 0x800700b7
  • Config Error Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.svg'
  • Config File snip\web.config
  • Requested URL http://snip:14466/resources/img/snip.png
  • Physical Path C:*snip*\Resources\img*snip*.png
  • Logon Method Anonymous
  • Logon User Anonymous

Config Source:

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

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

最佳答案

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

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

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

修复代码如下:

<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>

希望这可以帮助其他人避免浪费时间寻找解决方案。

关于asp.net-mvc - IIS Express - 'mimeMap' 上的 HTTP 错误 500.19 0x800700b7( 'fileExtension' 设置为 '.svg'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23350985/

相关文章:

asp.net-mvc - Controller 可以影响 _layout.cshtml 文件吗?

asp.net - 创建密码字段@html.TextBoxFor

asp.net - 检测是否加载了 HttpModule

c# - Asp.net MVC 应用程序总是以 403 错误启动

asp.net - 无法在 mono/linux 上运行 kestrel

asp.net-mvc - asp.net mvc 数据库交互验证

asp.net-mvc - 如何在ReactJs中使用路由?

html - SVG/HTML 元素之间的 CSS 动画差异

html - 如何将 2 个 SVG 并排放置在容器中并调整容器的高度?

javascript - 如何在 DOM 中获取嵌入式 svg 的父元素?