У меня есть следующий код в global.asax, который переносится в статический файл NotFound.aspx при наличии исключения 404. Это работает на моей машине разработки с отладочными или релизными сборками. При развертывании сборки релиза в службе azure app вместо получения моего статического файла NotFound.aspx я получаю страницу только с текстом: The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Server.Transfer from Global.asax не работает при развертывании в Azure
Я проверил, что статические файлы присутствуют в лазурном развертывании.
Код в global.asax является:
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
ErrorLogger.Log(httpException);
Server.ClearError();
switch (httpException.GetHttpCode())
{
case 404:
// page not found
Response.StatusCode = 404;
Server.Transfer("~/NotFound.aspx");
break;
default:
Response.StatusCode = 500;
Server.Transfer("~/Error.aspx");
break;
}
}
}
вы не должны перенаправляет от 'Global.asax' файл, который вы должны иметь свой протоколирование в отдельном файле класса, на мой взгляд, вместо устраняя ошибку, вы также должны сделать что-то вроде этого «Exception ex = Server.GetLastError()», после чего вызовите метод ведения журнала, который будет в классе utils, например, и передайте «ex» в качестве параметра для метода ведения журнала – MethodMan