У меня возникла небольшая проблема при попытке настроить страницу с общей ошибкой в MVC.
Я обрабатываю все ошибки приложения в Global.asax.cs с помощью следующего кода ->
protected void Application_Error(object sender, EventArgs e)
{
//if (Request.Url.ToString().StartsWith("http://localhost:"))
// return;
string msg;
Exception ex = Server.GetLastError().GetBaseException();
StringBuilder sb = new StringBuilder();
sb.AppendLine("Exception Found");
sb.AppendLine("Timestamp: " + System.DateTime.Now.ToString());
sb.AppendLine("Error in: " + Request.Url.ToString());
sb.AppendLine("Browser Version: " + Request.UserAgent.ToString());
sb.AppendLine("User IP: " + Request.UserHostAddress.ToString());
sb.AppendLine("Error Message: " + ex.Message);
sb.AppendLine("Stack Trace: " + ex.StackTrace);
msg = sb.ToString();
Server.ClearError();
Response.Redirect(string.Format("~/Error/Error?w={0}", msg ));
}
Моя проблема в том, что я не получаю перенаправление. Я вижу ту же страницу URL и пустую страницу, когда я создаю ошибку.
Если я удаляю «errorMsg» и добавляю ПРОСТУЮ СТРОКУ, она работает, перенаправляет с требуемым параметром. Пример:
string test = "testme";
Response.Redirect(string.Format("~/Error/Error?w={0}", test));
Это перенаправляет меня на страницу ошибок с параметром "testme". Что я здесь не так делаю?