Asp.net mvc 3 如何限制用户在同一会话中打开多个浏览器选项卡(窗口)?

Asp.net mvc 3 如何限制用户在同一会话中打开多个浏览器选项卡(窗口)?,asp.net-mvc-3,session,Asp.net Mvc 3,Session,我已经开发了一个ASP.NET MVC 3网站,我在不同的地方使用TempData。我希望我的用户不要在同一会话中打开浏览器的多个选项卡/窗口,以避免会话数据中的冲突。如何施加此限制?通常不可能。服务器端没有关于客户端打开多少窗口的任何信息。此外,如果您需要限制用户打开多个窗口,那么您肯定会做错事,因为web应用程序的本质是在多个窗口中工作 但是,您可以通过将应用程序完全放在命名为AJAX的单页应用程序中来减少这种可能性。因此,除非在另一个选项卡中手动打开应用程序的起始页,否则用户将无法打开多个

我已经开发了一个ASP.NET MVC 3网站,我在不同的地方使用TempData。我希望我的用户不要在同一会话中打开浏览器的多个选项卡/窗口,以避免会话数据中的冲突。如何施加此限制?

通常不可能。服务器端没有关于客户端打开多少窗口的任何信息。此外,如果您需要限制用户打开多个窗口,那么您肯定会做错事,因为web应用程序的本质是在多个窗口中工作


但是,您可以通过将应用程序完全放在命名为AJAX的单页应用程序中来减少这种可能性。因此,除非在另一个选项卡中手动打开应用程序的起始页,否则用户将无法打开多个窗口。但是你不能做任何事。一旦再次使用,这确实是一个非常糟糕的设计。

我可能没有领会你的意思,但请理解tempdata与会话无关。不,tempdata在后台使用会话。但是,除非我们使用.Keep method.IC显式保留tempdata,否则tempdata将被擦除。我没有意识到。读这个,也许有趣