就一行語句:
this.Response.Write(this.Session.SessionID);
用來顯示 session ID.
http://127.0.0.1/Default.aspx
http://localhost/Default.aspx
同一個IE打開這兩個地址,session ID不一樣,
有何方法讓他們共享一個session?
看了下園子里的文章,好像都沒試驗成功,請大家幫忙想想辦法。
cookie都没共享,怎么谈得上Session共享.
看看我的这篇文章之后,你的理解会更深一个层次。
http://www.cnblogs.com/jzywh/archive/2008/11/02/ShareSession.html
跨域名? 把session传过去吧(你可以适当加密)...
事实上这根本就是一个域,没什么好说的
SessionID不同的原因是,ASP.NET 2.0以后使用的是Cookie based Session,在这种情况下,如果没在Session中放东西的话,服务器不会为此请求的Session分配空间,因此每一次独立的请求都会生成一个新的SessionID,即便你始终访问http://localhost/Default.aspx,也应该会发现每次刷新都有不同的SessionID,当然前提是Session里没放东西
我没有做过测试,不过楼上说得好像很有道理!
PS:刚才我做了一个简单的测试,楼主说的问题确实存在,楼上说得肯定也正确,Session是基于cookie保存的,与访问的域名有关,因为Cookie在浏览上的存储是按照域名保存的,博客园也在cnblogs下,所以都可以共享cookie,如果用IP访问博客园发现就不共享cookie了,所以你的127.0.0.1和localhost一个是IP一个是域名应该不共享,至于全跨域共享应该不能做,除非自己实现一个Sesson的httpmodule,基于浏览器的IP机制