具有单独会话的多个浏览器窗口

时间:2012-12-12 13:44:25

标签: .net session asp.net-mvc-4 multiple-instances

我正在启动一个需要使用多个浏览器实例的.NET MVC4应用程序。我需要每个浏览器都有自己的实例或会话。例如,假设它是学校使用的应用程序。在主窗口中,对学生进行搜索并进行选择,以便在该浏览器窗口中完成的所有操作都与所选择的学生相关联。我打开另外两个浏览器窗口并对两个不同的学生做同样的事情,所以现在每个窗口都与一个特定的学生相关联。我不相信我可以使用Session对象,因为它遍及浏览器的所有实例。实现这样的事情的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

这里有几种可能性。

如果每个浏览器都在查看独立于登录用户的学生,那么无论哪个浏览器实例执行了请求,您的路线都会为您提供当前学生的信息。然后,您只需动态加载学生模型。

例如,在搜索之后,我假设您重定向到学生页面。您可以设置类似于此的网址路径:

http://www.blah.com/home/student/profile/123

MVC将带您到学生ID = 123的相应控制器。加载您的学生并渲染您的视图。

如果您希望将当前学生存储在会话缓存中,您必须能够在缓存中唯一地标识您的学生。而不是存储它命名为“学生”而不是将其存储为“student-123”,其中123是学生的Id。然后,您可以编写代码以在会话缓存中查找特定学生。如果它不存在,请立即加载。