如何只检测一次浏览器支持cookie?

时间:2015-12-26 17:46:57

标签: asp.net-mvc cookies

我知道如何检查客户端浏览器是否支持Cookie: filterContext.RequestContext.HttpContext.Request.Browser.Cookies

所以我把这段代码放到了OnActionExecuting(ActionExecutingContext filterContext)方法中。 但我不希望每次用户发出请求时都检查客户端浏览器。 有没有办法只在项目的任何地方检测一次此信息? 这里是完整的代码:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    base.OnActionExecuting(filterContext);
    HttpContext.Application["AlertOverCookies"] = null;
    if (!filterContext.RequestContext.HttpContext.Request.Browser.Cookies)
    {
        HttpContext.Application["AlertOverCookies"] = "Browser does not support Cookies!";
        filterContext.Result = RedirectToAction("Index", "Home");
    }
}

1 个答案:

答案 0 :(得分:2)

访问filterContext.RequestContext.HttpContext.Request.Browser.Cookies非常便宜。因此,没有必要减少对它的调用次数。

  

HttpContext.Application

这是一个错误。这是一个全局集合,将在请求和会话之间共享。

相关问题