0
 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 を使用する場合。キャッシュすると、機能しなくなります。ビューデータを現在のコンテキストのキャッシュに入れ、次回はキャッシュから取得したことを意味します。

誰かがそれを機能させるのを手伝ってください。

4

0 に答える 0