常常有一些特殊的MIME类型是IIS中没有的,一般来说要我们自己手动添加。如果网站经常更换服务器或者网站代码是提供给多个用户使用,那么会造成网站中用到的特殊的MIME类型要经常性的在IIS上配置。这里考虑到一个网站配置通用性问题,所以我们可以将MIME类型添加到ASP.NET网站的配置文件中,这样用户就不用一直配置IIS了。
一般来说我们是将MIME的这部份信息配置在system.webServer节点的staticContent节点中,配置的时候只要设置mimeMap节点中的fileExtension文件扩展名属性和mimeType这个MIME类型属性(点击此链接查看常用MIME类型)。
大概的代码如下(代码中添加的扩展名和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>
可以看到这里添加了3个IIS默认中没有的扩展名:
- .woff (woff字体)
- .xap (Silverlight编译后的文件)
- .xaml (可扩展应用程序标记语言,eXtensible Application Markup Language)
这里要额外注意一点的是,在上面代码中我还声明了remove这个移除节点,这是为了防止重复添加MIME类型导致网站出现这个异常信息:“在唯一密钥属性“fileExtension”设置为“.woff”时,无法添加类型为“mimeMap”的重复集合项”,如果你的网站没有提示这个异常信息,或者能确定用户的IIS上一定没有配置这几个扩展名,那么remove节点就可以不用加。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/98337.html