14

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

我知道是什么原因造成的——我正在记录这一点,以防其他人遇到同样的问题。

4

3 回答 3

33

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

 <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 类型中。

不是网站设置覆盖全局设置,而是引发了异常。

于 2012-12-03T05:11:25.527 回答
14

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

<staticContent>
  <remove fileExtension=".otf" />
  <mimeMap fileExtension=".otf" mimeType="application/x-font-otf" />
</staticContent>
于 2015-01-15T00:52:24.277 回答
3

在 godaddy.ocm 共享主机上部署 MVC 3.0 应用程序时,终于解决了这个 500 Internal server error

不知何故,引用的 DLL 版本和 web.config 中提到的版本存在差异。

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

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

它奏效了,终于解决了我的问题

希望这会对人们有所帮助,他们不会像我一样浪费两天时间,

于 2013-03-23T06:00:05.763 回答