我正在向我的 Azure 托管 Web 应用程序添加提供 SVG 和 WOFF 文件的功能。我找到了以下说明:
我随后将以下文本添加到我的 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/