Я уже пробовал следующее: 1) Добавлен пользовательский атрибут для обработки таймаута.Как обрабатывать тайм-аут запроса в приложении ASP.NET MVC5?
public class TimeOutFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
System.Web.HttpContext.Current.GetType().GetField("_timeoutState", System.Reflection.BindingFlags.Instance |
System.Reflection.BindingFlags.NonPublic).SetValue(System.Web.HttpContext.Current, 1);
base.OnActionExecuting(filterContext);
}
}
Добавлено следующее в Global.asax
filters.Add(new TimeOutFilter());
использовано [TimeOutFilter] атрибут для украшения
-регулятора2) Добавлена AsyncTimeout атрибут для украшения контроллер/действие следующим образом:
[AsyncTimeout(10)]
3) Установите исполнениеTimeout на значение в файле web.config.
<httpRuntime targetFramework="4.5" maxRequestLength="10240" executionTimeout="10" />
4) Установить HttpContext.Server.ScriptTimeout на некоторое значение в контроллере.
HttpContext.Server.ScriptTimeout = 10;
Используя шаги в пункте 1, я смог перенаправить пользователя на экран входа в систему по истечении времени запроса. Но это не то, что я ищу.
Я ищу получение или запуск исключения, когда произойдет таймаут запроса.
Может кто-нибудь, пожалуйста, дайте мне знать, если мы сможем это сделать?