Как заменить стандартную страницу ошибки в случае, если длина запроса превышает указанную в maxQueryStringLength
, и показать пользователю что-то более дружелюбное?
Примечание: Хотя какHttpException это попадает в общую 400-ю ошибку, я хочу отделить условие QueryLength и показать очень конкретную страницу для этой конкретной ошибки.Поэтому я не могу использовать раздел «customErrors» для обозначения страницы, но мне нужно фильтровать это программно.Проблема с нижеуказанным в том, что он не работает.
protected virtual void Application_Error(Object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (logs != null) logs.ExceptionMsg("Application exception", this, ex);
var httpex = ex as System.Web.HttpException;
if (httpex != null && httpex.ErrorCode == -2147467259)
{
Server.ClearError();
Server.TransferRequest(@"~/main/maxlengthexceeded", false);
}
}
Проблема в том, что Server.TransferRequest не работает.Есть ли альтернатива тому, как я могу сказать ASP.NET, какую страницу загрузить?