我正在增加服务SVG& WOFF文件到我的Azure托管的Web应用程序。我发现以下说明:
<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:
06001
它显然讨厌我的mimeMap为.svg,但这在Azure网站工作正常。有没有我在本地运行这些更改到Web.config的缺失?
解决方法
当然,我已经发布了我的问题后找到了这个答案:
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>
希望这能帮助别人浪费时间寻找一个修复。