问题描述
为什么我在一个[WebMethod(EnableSession=true)]的方法中设置了一个Context.Session.Timeout=20;Context.Session["userid"]="11111";在另外一个[WebMethod(EnableSession=true)]的方法中取Context.Session["userid"]时,session的值为null,有什么办法可以共享session呢!!
解决方案
解决方案二:
我也碰到过这个问题Cookies同样失效修改session定义方式采用引用方式创建session
解决方案三:
关注
解决方案四:
用CookieContainer给Session赋值youservice.CookieContainer=newCookieContainer();youservice.你的方法
解决方案五:
Session是共享的没错不过如果你的客户端不是ie或者说任何一种客户端调用ws或者网页都必须有自己的cookies保持方式只是ie帮你做了如果你需要范例代码我可以发给你在使用windowsfrom的调用session的情况下共享cookies
解决方案六:
Context.Session.Timeout=20;这一句去掉
解决方案七:
引用4楼purple_tide的回复:
Session是共享的没错不过如果你的客户端不是ie或者说任何一种客户端调用ws或者网页都必须有自己的cookies保持方式只是ie帮你做了
是这样的.包括用WinForm开发程序也要手动设置Cookie的保持方式的.
解决方案八:
session本来就是共享的,你应该检查一下程序,可能是执行了某个操作后session丢失了,我碰到过的一个问题是当执行了某些磁盘操作如删除文件后session就丢了。。。。
解决方案九:
可以考虑将SESSION保存到ASPNETSTATE服务上
解决方案十:
Session需要Cookie的容器,如果你的客户端是Winform程序,你则需要CookieContainer做容器,来维持这个Session状态,如果你是Web页则IE带有Cookie容器
解决方案十一:
有超時嗎?關注
解决方案十二:
引用3楼kkme88的回复:
用CookieContainer给Session赋值youservice.CookieContainer=newCookieContainer();youservice.你的方法
应该是这样!