ASP.Net Response.Redirect не работает в Application_Error? - PullRequest
14 голосов
/ 14 декабря 2010

Я не знаю, почему Response.Redirect не работает должным образом при развертывании моего кода в IIS7?Белая / желтая страница ошибки всегда отображается вместо моего Errors.aspx.Но когда на моем компьютере выполняется отладка с использованием Visual Studio, она работает нормально?

protected void Application_Error(object sender, EventArgs e)
        {
            ILog log = LogManager.GetLogger(typeof(Global).Name);
            Exception objErr = Server.GetLastError().GetBaseException();
            log.Error(objErr);
            string err = "Error Caught in Application_Error event\n" +
                    "\nError Message:" + objErr.Message.ToString() +
                    "\nStack Trace:" + objErr.StackTrace.ToString();
            EventLog.WriteEntry("Kiosk", err, EventLogEntryType.Error);
            Server.ClearError();
            Response.Redirect("~/Error.aspx", false);
        }

Ответы [ 5 ]

27 голосов
/ 08 июня 2011

У меня была такая же проблема, и я решил ее с помощью:

HttpContext.Current.ClearError();             
Response.Redirect("~/Error.aspx", false);
return;
1 голос
/ 11 августа 2014

Для меня работает приведенный ниже код.

HttpContext.Current.Server.ClearError();
HttpContext.Current.Response.Redirect("~/ErrorPage.aspx");
1 голос
/ 23 октября 2013
HttpContext.Current.Server.ClearError();
HttpContext.Current.ClearError();
====================================================================
Redirect to NEW VIRTUAL! directory (Error)
HttpContext.Current.Response.Redirect([http://localhost:8990/Error/ErrorPageServer.aspx]);
0 голосов
/ 21 сентября 2016
protected void Application_Error(object sender, EventArgs e)
{            
     Exception objErr = Server.GetLastError().InnerException;
    //Logging.WriteToErrorLog("Error Caught in Application_Error event", objErr);
   HttpContext.Current.Server.ClearError();
   HttpContext.Current.Application.Add("test", objErr);
   HttpContext.Current.Response.Redirect("~/Home/Index");
   return;
}
0 голосов
/ 14 декабря 2010

Попробуйте отключить CustomError в web.config. Это даст вам более подробную информацию об ошибке. Возможно, это не ошибка Response.Redirect.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...