部署后,asp.net mvc 3 Web应用程序无法运行
我已经在IIS 7上使用了windows server server 2008和sql server 2008的服务器上的asp.net mvc 3 razor视图引擎应用程序。安装了asp.net mvc 3
我在Visual Studio 2010中单击了“发布”按钮。将其发布在本地文件夹中,然后复制到服务器中。
我收到错误> Sorry, an error occurred while processing your request.
此错误仅显示需要sql连接的视图,以便其他页面完美加载。
我确信我已经用正确的连接字符串更改了连接字符串。
请帮助我,网上没有任何帮助。
谢谢
首先,您必须知道导致错误视图显示的exception是什么。
我可以建议你三个选择。
-
关闭
>部分,以便 HandleError
filter不起作用,您可以看到真正的exception 。 -
HandleError
filter还将HandleErrorInfo
实例传递给错误视图,因此您可以通过访问该模型在错误视图本身中显示完整的exception(只是为了知道生产中的错误不是一个明智的想法) 。@model System.Web.Mvc.HandleErrorInfo
The exception is: @Model.Exception
-
您可以尝试ELMAH库来记录所有未处理的exception。
HandleError
filter会抑制exception并停止ELMAH记录它们 ,因此在尝试ELMAH时最好关闭HandleError 。 您必须在单独的数据库中配置ELMAH
,它提供一个列出所有最近错误的页面。
检查以下内容:
- 您在IIS中部署它的应用程序池使用的是正确版本的.NET(应该使用.NET 4集成模式应用程序池)
- 如果这是一个阻止在ASP.NET中运行任何内容的错误,那么应该将错误记录到服务器上的事件日志中。 检查应用程序和/或系统日志。
该请求页面的某些代码中存在一些错误。 所以ASP.NET MVC正在显示error.cshtml的内容。
您可以在web.config中禁用自定义错误页面,以便在浏览器中看到错误。 请记住,不仅是你,每个人都可以看到。 因此,一旦找出问题所在,最好更改设置。 您还可以将值remoteonly
为remoteonly
,以便只有它才能从服务器中看到。 仅当您具有对服务器的远程访问权限时,此方法才有效