在IIS 7.5下运行的ASP.NET MVC项目(但早期版本和非MVC站点上可能存在问题)之前工作已经开始返回500内部服务器错误但仅针对静态处理程序处理的内容 - 图像,由MVC本身通过控制器处理的页面等工作正常。
我知道是什么造成的 - 我正在记录这个以防其他人遇到同样的问题。
答案 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 'mimeMap' with unique key attribute
'fileExtension' set to '.woff'
</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天,