我如何通过outputcache和actionfilter为每个用户询问asp.net mvc操作

时间:2013-10-27 08:51:44

标签: c# asp.net-mvc model-view-controller

 public class CacheMaster : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            int userId = 0;
            if (filterContext.Controller.ViewData["currentuser"] != null)
            {
                UserManager.User user = (UserManager.User)filterContext.Controller.ViewData["currentuser"];
                if (user.ID != 0)
                    userId = user.ID;
            }

            base.OnActionExecuting(filterContext);
        }
    }

使用此代码我想缓存操作,并且每个用户的工作方式都不同。我怎么能得到它。它不起作用。

实际上,访客用户显示和用户的显示是不同的,所以我可以更好地缓存它。如果我尝试了outputcache,那么它会显示所有人都一样。

如果我使用httpcontext。缓存然后它永远不会工作。我的意思是将我的viewdata放入当前上下文的缓存中,然后从缓存中获取它。

有人请帮我把它搞定。

0 个答案:

没有答案