0

编辑:显示了我的确切 web.config 代码。

我有一个 MVC3 项目在我的盒子上运行良好,但是当我将它上传到 Web 服务器时,它会在某个页面上出现错误。我试图确定确切的错误,但它一直重定向到“错误/显示错误”操作。我尝试将 web.config 文件修改为 showcustomerrors=false,但它仍然会重定向。 我真的需要查看实际错误才能解决问题。

在firebug中,它显示该错误是500内部服务器错误。我无法得到比这更详细的了。

此外,如果我从本地机器运行页面,但使用远程数据库,我不会收到错误消息。这让我觉得它与目录权限有关。

这是我的 web.config 部分:

<compilation debug="true" targetFramework="4.0">

这是我的 web.debug.config 部分:

<customErrors  mode="Off">

谢谢!

4

3 回答 3

0

在 web.config 中关闭customErrors,您将能够看到错误是什么。然后修复它。打开自定义错误

<customErrors defaultRedirect="Error.aspx" mode="Off"/>
于 2012-07-30T16:35:36.823 回答
0

以下是自定义错误的选项:

<customErrors defaultRedirect="url"
          mode="On|Off|RemoteOnly">
      <error. . ./>
</customErrors>

我认为您的问题是您使用的是“假”而不是“关闭”。

祝你好运,希望这对你有用。

参考:CustomErrors 部分的 MSDN 链接

于 2012-07-30T16:38:32.357 回答
0

看看这些改变是否会有所帮助。

<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
    </system.webServer>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

如果没有,请确保正确安装了 AspNet。 C:\Windows\Microsoft.Net\Framework..\v.....\aspnet_regiis.exe -i

编辑:您可以尝试在 Global.asax.cs 中使用以下方法记录异常消息

protected void Application_Error(object sender, EventArgs e) {
    var exception = Server.GetLastError();
    // Log the exception
}

编辑:

好吧,这将是很多工作,但我建议您将 Elmah 添加到您的项目中以记录未处理的异常。请参阅登录 MVC 第 1 部分 - Elmah的第一步

Elmah 可在 NuGet 库上找到。

于 2012-07-30T16:40:29.153 回答