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

时间:2012-12-03 05:06:12

标签: asp.net-mvc iis mime-types

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

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

3 个答案:

答案 0 :(得分:30)

我启用了失败的请求跟踪,在搜索(巨大的)日志后,我发现了这个:

 <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>

发生的事情是,网站上添加了一个用于提供网络字体(.woff)的新Mime类型。

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

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

答案 1 :(得分:11)

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

<staticContent>
  <remove fileExtension=".otf" />
  <mimeMap fileExtension=".otf" mimeType="application/x-font-otf" />
</staticContent>

答案 2 :(得分:3)

在godaddy.ocm共享主机上部署MVC 3.0应用程序时,终于解决了这个500内部服务器错误

在某种程度上,引用的DLL版本和web.config中提到的版本存在差异。

尝试了各种论坛中提到的所有选项,没有任何帮助,虽然每个人都提出了同样的修复,但不知何故在我的场景中没有用。终于在敲了两天头之后。 我决定删除所有dll引用并从项目中删除web.cofig(制作本地副本)并让应用程序抛出错误,然后逐个添加dll,将副本复制到local = true。 在添加了所有dll之后。我创建了一个新的asp.net mvc应用程序,并将新应用程序的web.config复制到我的实际应用程序中。 所以我的实际应用程序现在有了一个新的web.config,然后我从我保存的web.config的本地副本中复制了connectionstring和其他引用。

刚刚编译了应用程序并发布到本地文件夹 并将已发布的文件夹FTP到goDaddy

它起作用,最后我的问题解决了

希望这会帮助人们,他们不会像我一样浪费2天,