是否可以在多个浏览器中共享会话对象(如用户对象)?我的要求是,如果用户尝试在不同的浏览器(IE,Chrome或Fireforx)之间切换,应用程序应允许导航以及共享用户对象。
答案 0 :(得分:1)
浏览器之间无法共享会话,浏览器使用会话cookie唯一地标识每个客户端,并将其存储在浏览器内存中。因此,不允许一个浏览器访问其他浏览器的内存,这使得无法在不同浏览器之间共享会话。阅读有关session cookies的更多信息可以使其更加清晰。
答案 1 :(得分:0)
IS 可能。但它需要您编写自己的SessionIDManager
类:
http://msdn.microsoft.com/en-us/library/system.web.sessionstate.sessionidmanager.aspx
如果您创建自己的SessionIDManager
,则决定如何确定请求是否属于特定会话。客户端IP至少应该是一个参数,某些特定于应用程序的密钥可以是另一个等等。返回的实际会话密钥可以是所有参数的散列的合适字符串表示(生成的会话ID 必须每个会话都是唯一的。)
完成SessionIdManager
后,您可以在web.config
:
<sessionState mode="[mode]" ...
sessionIDManagerType="[full type name of your class here]" ... />
所以可以完成。
但是,除非有一些非常有说服力的理由,否则我个人不会做这样的课程:
而且,也许最重要的是: