如何解决设置Session保存在StateServer后引起WebService/WebMethod无法异步获取Session

项目中有一个文件上传功能,需要显示文件上传进度。于是使用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-08-02 05:48:59

如何解决设置Session保存在StateServer后引起WebService/WebMethod无法异步获取Session的相关文章

解决设置uiview的alpha属性后导致subviews页透明

不要设置uiview.alphua属性,这样会影响到这个view的所有subviews的alphua. 解决: self.backgroundColor = [[UIColor lightGrayColor] colorWithAlphaComponent:透明度比例];

一般处理程序设置Session cs 文件获取session

using System;using System.Web;using System.Web.SessionState; //第一步:导入此命名空间public class 类名 : IHttpHandler ,IRequiresSessionState //第二步:实现接口 到此就可以像平时一样用Session了{} 在自定义类库CS文件里使用System.Web.HttpContext.Current.Session获取Session时提示错误:未将对象引用设置到对象的实例.一般情况下通过这

JS或jsp获取Session中保存的值

JS是不能读取Session中的值的 . session是服务器对象, javascript是客户端脚本,你能做的操作就是把这个值用 <%=%>输出到页面的javascript中参与运算,而无法直接用js调用的 方法: 你可以做一个AJAX来请求 服务器, 返回session中的值 . 当然你也可以在JSP中使用<%=%>这种东西来获取session中的值,例如: <script language="JavaScript"> var myName=&

js设置下拉框选中后change事件无效解决

下拉框部分代码: <select id="bigType"> <option value="">请选择</option> <option value="1">xiamen</option> <option value="2">beijing</option> </select> <select id="smallTy

ios 解决数据请求json解析字典后,由于java某些类库转换json字符串后出现键值为&lt;null&gt;无法保存在userDefault的问题

解决数据请求json解析字典后,由于java某些类库转换json字符串后出现键值为<null>无法保存在userDefault. 打印下得到的字典数据: “username”=<null> 此时如果将字典保存到userDefault中会报错 所以需要遍历字典将其替换 for (NSString*s in [Dict1 allKeys]) { if ([Dict1[s] isEqual:[NSNull null]]) { [Dict1 setObject:@""

转载:如何严格限制session在30分钟后过期!

如何严格限制session在30分钟后过期!1.设置客户端cookie的lifetime为30分钟:2.设置session的最大存活周期也为30分钟:3.为每个session值加入时间戳,然后在程序调用时进行判断: 至于为什么,我们首先来了解下php中session的基本原理: PHP中的session有效期默认是1440秒(24分钟),也就是说,客户端超过24分钟没有刷新,当前session就会失效.当然如果用户关闭了浏览器,会话也就结束了,Session自然也不存在了!大家知道,Sessio

利用session_set_save_handler()函数将session保存到MySQL数据库中

PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开销是很大的,然而session是要时时刻刻的使用的,大量的用户就要创建很多的session文件,这样对整个的服务器带来性能问题. 另一方面,如果服务器起采用群集的方式的话就不能保持session的一致性,所以我们就绪要采用数据库的方式来保存session,这样,不管有几台服务器同时使用,只要把他们的

(转)完美解决 Android WebView 文本框获取焦点后自动放大有关问题

完美解决 Android WebView 文本框获取焦点后自动放大问题 前几天在写一个项目时,要求在项目中嵌入一个WebView 本来很快就完成了,测试也没有问题.但发给新加坡时,他们测试都会出现文本框聚焦时,网页面会放大(他们用三星手机测试的) 网上查了好久参考他的方法加上去测试 http://www.cppblog.com/guojingjia2006/archive/2012/12/18/196429.html 下面我将原文copy过来 **************************

WebAPI中无法获取Session对象的解决办法

在MVC的WebApi中默认是没有开启Session会话支持的.需要在Global中重写Init方法来指定会话需要支持的类型 public override void Init() { PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest; base.Init(); } void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e) { H