Asp.net mvc 4 用于在单个会话中跨浏览器选项卡维护不同状态的设计模式

Asp.net mvc 4 用于在单个会话中跨浏览器选项卡维护不同状态的设计模式,asp.net-mvc-4,Asp.net Mvc 4,我有一个基于MVC4的web应用程序。其中我提供了2种登录类型,1。员工和2。顾客通过客户登录,我展示了一个仪表板和其他关于他的订单等内容。通过员工登录,我允许员工搜索他的客户,并提供执行特定客户任务的能力 员工登录后可能会搜索多个客户,并在多个浏览器选项卡中获取他们的每个详细信息 如果我在会话中放置客户的唯一标识符,我很难维护每个选项卡的状态,因为下一个后续请求将覆盖会话 为了解决这个问题,我依赖一个基于(脏的)viewbag的解决方案,在每个视图中我都在viewbag中设置客户编号 有没有优

我有一个基于MVC4的web应用程序。其中我提供了2种登录类型,1。员工和2。顾客通过客户登录,我展示了一个仪表板和其他关于他的订单等内容。通过员工登录,我允许员工搜索他的客户,并提供执行特定客户任务的能力

员工登录后可能会搜索多个客户,并在多个浏览器选项卡中获取他们的每个详细信息

如果我在会话中放置客户的唯一标识符,我很难维护每个选项卡的状态,因为下一个后续请求将覆盖会话

为了解决这个问题,我依赖一个基于(脏的)viewbag的解决方案,在每个视图中我都在viewbag中设置客户编号


有没有优雅的解决方案?已知的设计模式?

解决这一问题可能很棘手,因为一些浏览器在选项卡之间共享cookie。我的最后一部分可能适用,并展示了如何实现独特的会话键(尽管是在Web表单中)。基本上,您使用绑定到特定页面的唯一ID(在URL或隐藏字段中)。然后将所有会话信息绑定到单个ID。