加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Asp.Net mvc session与cache

发布时间:2020-12-16 09:16:42 所属栏目:asp.Net 来源:网络整理
导读:我们一直在开发asp.net mvc应用程序.只要用户登录,我们就必须维护一些特定于用户的信息.对我来说有什么选择?缓存在站点的所有用户之间共享. Session似乎是选项,但我附加了webforms以显示Crystal Reports和webforms使用的Session对象和MVC是不同的:Mvc使用H
我们一直在开发asp.net mvc应用程序.只要用户登录,我们就必须维护一些特定于用户的信息.对我来说有什么选择?缓存在站点的所有用户之间共享. Session似乎是选项,但我附加了webforms以显示Crystal Reports和webforms使用的Session对象和MVC是不同的:Mvc使用HttpSessionStateBase而webforms使用HttpSessionState.

我应该在会话中保留多少信息(我有一个大约30个整数/用户的数组)?我应该将它保留在会话中还是应该使用会话和缓存的某种组合?

编辑:我创建了一个接受HttpSessionStateBase作为参数的SessionService,并从Mvc我调用它:

SessionService _service = new SessionService(HttpContext.Session);

它返回HttpSessionStateBase但是Darin建议它是抽象类,所以它也可以使用SessionStateWrapper实现.在Web表单场景中,我正在使用类似的东西

HttpSessionStateWrapper Session = new HttpSessionStateWrapper(HttpContext.Current.Session);
            SessionService _SessionRepository = new SessionService(Session);

解决方法

Session seems to be the option but i
have attached webforms for showing
crystal reports and the Session object
used by webforms and MVC is different:
Mvc uses HttpSessionStateBase and
webforms use HttpSessionState.

HttpSessionStateBase是一个抽象类,它的实现只是原始HttpSessionState对象的包装器.因此,只要您保持在同一个应用程序中,MVC和WebForms之间的会话就完全相同,您就可以使用它来共享数据.所以在你的场景中,会话似乎是一种持久化数据的正确方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读