仅适用于静态内容的ASP.NET MVC/IIS 7.5:500内部服务器错误

nrk*_*rkn 14 iis asp.net-mvc mime-types

在IIS 7.5下运行的ASP.NET MVC项目(但早期版本和非MVC站点上可能存在问题)之前工作已经开始返回500内部服务器错误,但仅针对静态处理程序处理的内容 - 图像,页面等.由MVC本身通过控制器处理工作正常.

我知道是什么造成的 - 我正在记录这个以防其他人有同样的问题.

nrk*_*rkn 32

我启用了Failed Request跟踪,在搜索(巨大的)日志后,我发现了这个:

 <EventData>
  <Data Name="ContextId">{00000000-0000-0000-3700-0080010000FC}</Data>
  <Data Name="ModuleName">CustomErrorModule</Data>
  <Data Name="Notification">536870912</Data>
  <Data Name="HttpStatus">500</Data>
  <Data Name="HttpReason">Internal Server Error</Data>
  <Data Name="HttpSubStatus">19</Data>
  <Data Name="ErrorCode">2147942583</Data>
  <Data Name="ConfigExceptionInfo">
    \\?\C:\Websites\xxx\www\web.config ( 58) :Cannot add duplicate collection 
    entry of type &apos;mimeMap&apos; with unique key attribute 
    &apos;fileExtension&apos; set to &apos;.woff&apos;
  </Data>
 </EventData>
Run Code Online (Sandbox Code Playgroud)

发生的事情是,一个新的Mime类型用于提供网络字体(.woff)已被明确添加到该网站.

后来,新的Mime类型(.woff)也被添加到全局IIS mime类型中.

不是网站设置覆盖全局设置,而是抛出异常.

  • 很好的问题,感谢发布它.事情正在DEV服务器和客户端使用GoDaddy购买托管.部署网站后,我们对静态内容(CSS,图像等)的任何请求都有500个错误.我们为.SVG添加了静态内容mime映射以映射到image/svg + xml,因为IIS默认情况下没有.您的答案正是我所需要的,我们从web.config中删除了静态内容映射,重新上载并解决了问题. (3认同)
  • 我也被w了!完全相同的事情......干杯,让我完全不知所措 (2认同)

Ste*_*ick 12

始终删除您要添加的任何mimetype,以防它已在IIS /服务器级别定义,例如:

<staticContent>
  <remove fileExtension=".otf" />
  <mimeMap fileExtension=".otf" mimeType="application/x-font-otf" />
</staticContent>
Run Code Online (Sandbox Code Playgroud)