项目中有一个文件上传功能,需要显示文件上传进度。于是使用PageMethods 调用WebService/WebMethod 。
在demo中测试一切正常。但是转移到项目中之后无法异步刷新文件上传进度。
调试后发现原因是异步刷新时,获取的session信息不是文件上传页面更新的最新信息。
又发现 web.config 中 有如下设置
<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="30"/>
注释掉之后异步刷新可正常使用,因此得出结论
设置Session保存在StateServer后引起了WebService/WebMethod无法异步获取Session
但是注释掉之后会造成会话意外丢失。
查找了各种资料都没有找到解决方式 。
后来无意间想起了 Application也可以储存对象
so:用Application 代替 session
如何解决设置Session保存在StateServer后引起WebService/WebMethod无法异步获取Session
时间: 2024-10-12 07:41:52