在唯一密鑰屬性“fileExtension”設置為“.”時,無法添加類型為“mimeMap”的重復集合項


在ASP.NET 網站的配置文件中添加了MIME類型,但是運行網站后在IIS上和頁面上提示"在唯一密鑰屬性“fileExtension”設置為“.woff”時,無法添加類型為“mimeMap”的重復集合項"這個錯誤。后來經過排查,是由於重復設置了MIME類型的文件擴展名造成的。

IIS上出現的錯誤信息


解決設置fileExtension屬性出現類型集合項添加重復的方法

比如在網站中web.config文件的配置是這樣的:

  <system.webServer> <staticContent> <mimeMap fileExtension=".woff" mimeType="font/x-font-woff" /> <mimeMap fileExtension=".xap" mimeType="xapapplication/x-silverlight"/> <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml"/> </staticContent> </system.webServer>

如果IIS中已經有設置.xaml和 .xap這兩個擴展名,那么IIS就會提示:在唯一密鑰屬性“fileExtension”設置為“.xaml”(或者.xap)時,無法添加類型為“mimeMap”的重復集合項。

PS:具體的提示信息是根據自己所添加的MIME類型的擴展名來的,比如我添加的是.woff,所以提示的是.woff這個擴展名無法添加重復集合項

所以一般我們要在配置文件中添加MIME Type,就得先使用remove節點刪除掉要添加的MIME,防止重復。正確的配置文件代碼如下:

  <system.webServer> <staticContent> <remove fileExtension=".woff" /> <remove fileExtension=".xap" /> <remove fileExtension=".xaml" /> <mimeMap fileExtension=".woff" mimeType="font/x-font-woff" /> <mimeMap fileExtension=".xap" mimeType="xapapplication/x-silverlight"/> <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml"/> </staticContent> </system.webServer>

出現此異常錯誤的原因

一般來說,我們之所以要在ASP.NET網站的web.config中添加MIME類型,是因為在IIS中並沒有設置這個MIME類型,而且因為某些原因我們只能在網站的web.config配置文件中添加mimeMap(比如我們沒有權限進入服務器等情況)。

這樣就可以能出現一個問題:假設當前網站發布到新的服務器中,此時新服務器上的IIS默認已經有設置這個MIME類型,而我們網站web.config配置文件也設置了mimeMap的mimeType,這樣重復添加MIME類型就會提示mimemap在集合項目設置中重復了!

所以正如上面的解決方法那樣,要么使用remove節點刪除重復,要么就在配置文件和IIS中二選一來設置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM