IIS中配置好的MIME经常消失的问题
IIS中配置好的MIME经常消失的问题

IIS中配置好的MIME经常消失的问题

平时工作中经常发现,在iis中的站点明明配好了MIME的文件支持的配置。

但是过一段时间后发现该类型文件无法使用, 于是进到IIS查看MIME配置发现其扩展名支持的配置莫名其妙的消失了。

 

经研究才发现然来手动在MIME增加的配置都会在站点的web.config文件中保存,

由于我发布项目的时候替换了其web.config文件, 所有导致之前配置的MIME就莫名其妙的消失了。

 

所以对MIME的配置最好是直接在web.config文件中手动配置,而不要在IIS中点击MIME类型,然后添加。

一般我们要在配置文件中添加MIME Type,就得先使用remove节点删除掉要添加的MIME,防止重复。

配置方法:

大概的代码如下(代码中添加的扩展名和MIME类型只是作为示例):

一般来说,我们之所以要在ASP.NET网站的web.config中添加MIME类型,是因为在IIS中并没有设置这个MIME类型,而且因为某些原因我们只能在网站的web.config配置文件中添加mimeMap(比如我们没有权限进入服务器等情况)。

这样就可以能出现一个问题:假设当前网站发布到新的服务器中,此时新服务器上的IIS默认已经有设置这个MIME类型,而我们网站web.config配置文件也设置了mimeMap的mimeType,这样重复添加MIME类型就会提示mimemap在集合项目设置中重复了!

所以正如上面的解决方法那样,要么使用remove节点删除重复,要么就在配置文件和IIS中二选一来设置。

但是如果要配置所有类型的支持的话就需要写很多, 所有为了方便起见我们可以配置一个通用的MIME,

一行代码搞定, 是不是很方便呢

Visits: 23

发表回复