Вы можете добавить такой код в ваш global.asax.cs
public class Global : System.Web.HttpApplication
{
protected void Application_Error(Object sender, EventArgs e)
{
Exception ex = HttpContext.Current.Server.GetLastError();
if (ex != null && ex is HttpException && ex.Message == "Request timed out.")
{
HttpContext.Current.Response.StatusCode = 503;
HttpContext.Current.Response.End();
}
}
}
Я обнаружил, что это не работает должным образом, и все равно возвращает ошибку 500 без Response.End ().Учитывая ваш вопрос, я не уверен, что вы хотите вместо этого сделать перенаправление, чтобы показать страницу с ошибкой, которая сама выдает 503, а не в приведенном выше.
Это действительно ASP.NET, возвращающий статус 500, IIS просто передает его.