mvc3 error on webserver, only get generic response

2019-09-07 19:05发布

Edit: showed my exact web.config code.

I have a MVC3 project that works fine on my box, but when I upload it to the web server, it gives an error on a certain page. I am trying to determine the exact error, but it keeps redirecting to the "Error/ShowError" action. I tried modifying the web.config file to say showcustomerrors=false, but it still redirects. I really need to see the actual error in order to troubleshoot the problem.

In firebug, it shows that the error is a 500 internal server error. I haven't been able to get any more detailed than that.

Also, if I run the page from my local box, but use the remote database, I don't get an error. This makes me think it's related to directory permissions.

Here is in my web.config section:

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

Here is in my web.debug.config section:

<customErrors  mode="Off">

Thanks!

3条回答
在下西门庆
2楼-- · 2019-09-07 19:56

Turn off customErrors in web.config and you will be able to see what the error is. then fix it. Turn the Custom Error on

<customErrors defaultRedirect="Error.aspx" mode="Off"/>
查看更多
淡お忘
3楼-- · 2019-09-07 20:03

See if these changes will help.

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

If not, make sure that AspNet is properly installed. C:\Windows\Microsoft.Net\Framework..\v.....\aspnet_regiis.exe -i

Edit: You can try to log the exception message using the following method in Global.asax.cs

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

Edit:

Well, this will be a lot to do, but I suggest you to add Elmah to your project to log unhandled exceptions. See the first step on Logging in MVC Part 1- Elmah

Elmah is available on NuGet Gallery.

查看更多
狗以群分
4楼-- · 2019-09-07 20:06

Here are the options you have for custom errors:

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

I think your issue is that you're using 'false' instead of 'Off'.

Good luck, hope this works for you.

Reference: MSDN link for CustomErrors section

查看更多
登录 后发表回答