部署后,asp.net mvc 3 Web应用程序无法运行

时间:2012-05-20 13:57:42

标签: c# asp.net-mvc sql-server-2008 razor

我已经在IIS 7上使用了windows.net服务器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连接的视图,以便其他页面加载完美。

我确信我已经用正确的连接字符串更改了连接字符串。

请帮助我,网上没有任何帮助。

由于

3 个答案:

答案 0 :(得分:3)

首先,您必须知道导致错误视图显示的异常是什么。

我可以建议你三种选择。

  1. 关闭<customErrors&gt;部分,因此HandleError过滤器无效,您可以看到真正异常

  2. HandleError过滤器还将HandleErrorInfo实例传递给错误视图,因此您可以在错误视图中显示完整的异常(只是为了知道错误而不是通过访问该模型来获得生产中的明智想法

    @model System.Web.Mvc.HandleErrorInfo
    
    <p>
       The exception is: @Model.Exception
    </p>
    
  3. 您可以尝试 ELMAH 库来记录所有未处理的例外情况。 HandleError过滤器会抑制异常,并通过 ELMAH 停止记录,因此您在尝试 ELMAH 时最好关闭HandleError。您必须在单独的数据库中配置ELMAH,并提供一个列出所有最近错误的页面。

答案 1 :(得分:0)

检查以下内容:

  • 您在IIS中部署它的应用程序池使用的是正确版本的.NET(应该使用.NET 4集成模式应用程序池)
  • 如果是阻止在ASP.NET中运行任何内容的错误,则应将错误记录到服务器上的事件日志中。检查应用程序和/或系统日志。

答案 2 :(得分:0)

该请求页面的某些代码中存在一些错误。所以ASP.NET MVC显示了error.cshtml的内容。

您可以在web.config中禁用自定义错误页面,以便在浏览器中看到错误。请记住,不仅是你,每个人都可以看到。因此,一旦找出问题所在,最好更改设置。您还可以将值设置为remoteonly,以便只有从服务器可见。仅当您具有对服务器的远程访问权限时,此方法才有效。