2012-05-20 100 views
2

我在IIS 7上deplyoed asp.net mvc 3 razor视图引擎应用程序。使用windows server 2008与sql server 2008的服务器。有安装asp.net mvc 3asp.net mvc 3 web应用程序部署后不工作

我已经点击Visual Studio 2010中的发布按钮。在本地文件夹上发布它,然后复制到服务器中。

我收到错误>Sorry, an error occurred while processing your request.

该错误只显示其中的观点确实需要SQL连接,以便其他网页加载完美。

我确定我已更改连接字符串与正确的连接字符串。

请帮我,没有任何有用的网站。

感谢

+0

您可以打开网页服务器上的页面吗?所以你得到一个具体的错误。您还应该检查web.config中的配置以查找错误页面。 (仅限远程,关闭,开启) – kapsi

+0

您使用“可信连接”还是将凭证放入连接字符串? –

+1

你也可以检查服务器的事件日志寻找异常 – ivowiblo

回答

3

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

我可以建议你三种选择。

  1. 关闭<customErrors>部分,所以HandleError过滤器将不能正常工作,你可以看到真正的例外

  2. HandleError过滤器也通过一个HandleErrorInfo实例的错误观点,所以你可以在错误视图本身(只知道错误不是在生产一个明智的想法)通过访问该模型显示完整的异常。

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

0

检查以下内容:

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

谢谢重播应用程序池配置正确我在事件查看器中出现错误:用户'IIS APPPOOL \ NGG'登录失败。原因:无法打开显式指定的数据库。 [客户端:<本地计算机>] –

+0

这听起来像是对数据库的权限。如果它是SqlCe类型的文件权限,或者在连接字符串中指定用户名和密码(如果它是SQL Server/Express),则为文件权限。 – Richard

+0

请指教我一件事。我不知道该怎么做。我怎么可以谷歌我的问题? –

0

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

您可以在web.config中禁用自定义错误页面,以便您可以在浏览器中看到错误。请记住,不仅你,每个人都可以看到。因此,一旦找出问题所在,最好将设置更改回来。您也可以将值设置为remoteonly,以便只有服务器才能看到它。这只有在您有远程访问服务器的情况下才有效。