我已經嘗試了以下內容 - 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)將executionTimeout設置爲web.config文件中的值。
<httpRuntime targetFramework="4.5" maxRequestLength="10240" executionTimeout="10" />
4)將HttpContext.Server.ScriptTimeout設置爲控制器中的某個值。
HttpContext.Server.ScriptTimeout = 10;
使用點1中的步驟,我可以根據請求超時將用戶重定向到登錄屏幕。但這不是我正在尋找的。
我正在尋找當請求超時發生時獲取或觸發異常。
有人請讓我知道,如果有什麼辦法,我們可以做到這一點?