我正在启动一个需要使用多个浏览器实例的 .NET MVC4 应用程序。我需要每个浏览器都有自己的实例或会话。例如,假设它是学校使用的应用程序。在主窗口中,对学生进行搜索并选择,以便在该浏览器窗口中完成的所有操作都与所选学生相关联。我打开另外两个浏览器窗口并对两个不同的学生做同样的事情,所以现在每个窗口都与一个特定的学生相关联。我不相信我可以使用 Session 对象,因为它可以覆盖浏览器的所有实例。实现这样的事情的最佳方法是什么?
问问题
856 次
1 回答
0
这里有几种可能性。
如果每个浏览器都在查看一个独立于登录用户的学生,那么无论哪个浏览器实例执行了请求,您的路由都会为您提供当前学生的信息。然后,您只需即时加载您的学生模型。
例如,在搜索之后,我假设您重定向到学生页面。您可以设置类似于以下的 url 路由:
http://www.blah.com/home/student/profile/123
MVC 会将您带到学生 id = 123 的适当控制器。加载您的学生并渲染您的视图。
如果您希望将当前学生存储在会话缓存中,您必须能够在缓存中唯一标识您的学生。与其将其存储为“student”,不如将其存储为“student-123”,其中 123 是学生的 ID。然后您可以编写代码在会话缓存中查找特定学生。如果它不存在,请即时加载。
于 2012-12-12T17:43:29.323 回答