日期:2014-05-19  浏览次数:20463 次

ASP.NET中Session的问题
我在登录页面上设置了Session[“UserName“],但转到另一个页面时却发现Session[“UserName“]为空,Session的过期时间在web.config中默认为20分钟啊,两个页面的切换时间才几秒而已阿。

我的登录页面在localhost项目(http://localhost)中,登录以后的页面msg项目(http://localhost/msg)中,每个项目都有自己的web.config文件(都是默认的),难道不同的项目间不能传递Session??

我将登录页面和将要转到的页面的Web.config中session部分的cookieless设为true   后,在两个页面的URL中显示的session   id各不相同,但session   id   是用来标示客户端的阿,按理说在session过期之前每个客户端应该只有一个session   id   啊

说得挺乱的,不过还是希望大家能明白我在说些什么,期盼回复中```

------解决方案--------------------
Session states are specific to a web application, you cannot share sessions between web applications, use cookies with path of "/ " if they share a root directory, or database backend to share data
------解决方案--------------------
http://localhost/msg 如果这个msg是虚拟目录的话,那么这个就相当于是一个新的应用程序域,所以不会共享,如果msg只是一个子目录的话,那应该可以共享,没有问题。