我有一个 Web 应用程序,它大量使用会话状态来存储有关当前用户、他们的个人设置、记录他们的会话历史等的信息。
我发现自己在业务层中检索此会话信息,如下所示:
((UserSession)HttpContext.Current.Session["UserSession"]).User.Info
这带来了一个问题——在未来的某个时候,我的应用程序将有一个 Windows 客户端,它显然无法引用 Web 会话状态。因此,我需要一个可以在业务层中引用的主机或自定义会话类,它与应用程序是在 Web 上运行还是在桌面上运行无关。就像是:
IHost.User.Info
在幕后,Web 实现显然会利用 Session 状态来存储信息,但我需要将其隐藏在业务层之外。有没有人解决了这个问题或得到任何关于如何最好地解决这个问题的实用建议?
帮助表示赞赏。