Asp.net-Mvc
IIS Express - ‘fileExtension’ 的’mimeMap’ 上的 HTTP 錯誤 500.19 0x800700b7 設置為 ‘.svg’
我正在向我的 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 時有效。但是,現在每當我嘗試為網站嘗試提供的每個資源在本地以調試模式啟動網站時,我都會從 IIS-Express 收到以下錯誤。
HTTP 錯誤 500.19 - 內部伺服器錯誤
無法訪問請求的頁面,因為該頁面的相關配置數據無效。
詳細錯誤資訊:
- 模組:CustomErrorModule
- 通知發送響應
- 處理程序靜態文件
- 錯誤程式碼 0x800700b7
- 配置錯誤無法添加類型為“mimeMap”且唯一鍵屬性“fileExtension”設置為“.svg”的重複集合條目
- 配置文件 snip \web.config
- 請求的 URL http:// snip :14466/resources/img/ snip .png
- 物理路徑 C:snip\Resources\imgsnip.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"/>它顯然討厭我的 .svg 的 mimeMap,但這在 Azure 網站中執行良好。在本地執行這些對 Web.config 的更改時,我缺少什麼嗎?
當然,我在發布我的問題後找到了這個答案:
添加 <mimeMap> 條目會導致 IIS Express 上的其他靜態內容出現 500
所以問題是我的本地 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>希望這可以幫助其他人避免浪費時間尋找解決方案。