后台-asp.net sessionState设置后session值永远第一个怎么回事?

问题描述

asp.net sessionState设置后session值永远第一个怎么回事?

1.将Session的mode设置为StateServer以后,发现Session取值老是取到第一个赋值的值。打个比方 比如Session["V"]="1236",一会不管你怎么赋值,Session["V"]=“aaa”,调式的时候发现Session["V"]的值是aaa,但是实际取的值就是Session["V"]=“1236”。

上面是简单描述,下面的代码:(具体问题在图片最后)

(用ajax实现向后台获取进度条的值,Session用来保存进度条的值)

图2.ascx用户控件前台js:


图3.ascx后台cs代码:

图4.用于处理ajax请求的ashx文件


图5.在aspx页面上调用这个控


上面的代码在正常情况下可以正常运行,但是在webconfig里面加了..session的配置之后,就出现了问题

加了这句:

主要是:图3里面的SetValue函数调式发现 Session["McsBarValue"] = value;一直都是在变的,

这个value就是图5里面的i,但是在图4里面(ashx文件)发现context.Session["McsBarValue"]一直都是0,这个0就是开始的第一个值。而且这两个SessionID是一样的。

但是只要我把去了就一切正常了。

我怀疑过是Session缓存的问题,但是不懂怎么删除缓存,因为全部都删掉的话,那保存登陆信息的Session也被清掉了

解决方案

我在web.config加了这句话就不对劲了。

去掉session就可以正常,但是时间会超时,但是加上这句话session的值却总是固定的,这是怎么回事呢?

解决方案二:

解决方案三:

< sessionState mode="StateServer" cookieless="false" timeout="30" stateConnectionString="tcpip=127.0.0.1:42424" stateNetworkTimeout="10"/>

解决方案四:

ajax Url 加个随机数试试

时间: 2024-12-22 15:50:23

后台-asp.net sessionState设置后session值永远第一个怎么回事?的相关文章

在ASP.NET中,设置Session的过期时间的方法_实用技巧

方法一:      在后台应用程序中设置:Session.Timeout = 1;     注意:1.此方法可以设置在一个公共的页面中,然后直接调用即可.             2.时间是以分钟为单位的 方法二:      在Web.config中设置:      在<system.web></system.web>中写入<sessionState mode="InProc" timeout="1" />

ASP.NET实现多域名多网站共享Session值的方法_实用技巧

ASP.NET实现多域名多网站共享Session值 1.实现功能:可设置哪些站点可以共享Session值,这样就防止别人利用这个去访问 要想实现这个功能就必须得把Session值 放入数据库中, 所有我们先在VS命令工具下注册一个 命名如下:aspnet_regsql.exe -S [数据库服务地址] -E -ssadd 具体格式请参考 /? 添加成功后我们休要对ASP.NET生成的存储过程进行简单的修改, 打开ASP.net为我们创建的数据库"ASPState" 找到存储过程&quo

asp.net 修改/删除站内目录操作后Session丢失问题_实用技巧

后来经过试验发现,如果删除改变的目录不属于当前项目所在虚拟目录,则Session可用,相反则不可用:调试跟踪中提示的:Session.get_item()--返回null: 后经过研究发现,在虚拟目录删除改变目录会造成Session丢失,以至于失效.而session丢失的实质就是:应用程序重起! 这里有多种解决方案: 1)利用外部进程保存 session 2)利用数据库保存 session 3)用户ID放入cookie,若检测到session为空但cookie存在在重新初始化 session.

JSP与ASP.Net之间的Session值共享

asp.net|js|session   介绍:ASP.NET中登录后,JSP可以用ASP.Net中的Session的值 这个话题刚开始,宝宝(itbaby.jss.cn)的思路是ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对 象,再强制转化成JAVA的Session对象,在JAVA端转换时,出现了错误,找遍网上的资料也没能解决,故采用一种替换的方式. 替换的方式的思路: 登录的ASPX文件中,在登录成功后将Sessi

让JSP与ASP.Net共享Session值

asp.net|js|session     这个话题刚开始,我的思路是ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成JAVA的Session对象,在JAVA端转换时,出现了错误,找遍网上的资料也没能解决,故采用一种替换的方式. 替换的方式的思路:     登录的ASPX文件中,在登录成功后将Session中的变量值保存到数据库中的一张表,关键字使用ASP.NET的Session对象的SessionID

jsp和asp.net共享session值示例代码

 介绍ASP.NET中登录后,JSP可以用ASP.Net中的Session值,大家参考使用吧  思路是ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成的Session对象,在JAVA端转换时,出现了错误,找遍网上的资料也没能解决,故采用一种替换的方式.   替换的方式的思路:   登录的ASPX文件中,在登录成功后将Session中的变量值保存到数据库中的一张表,关键字使用ASP.NET的Session对

c#-执行动画后再设置Canvas.Left值不起作用

问题描述 执行动画后再设置Canvas.Left值不起作用 一个很奇怪的问题,不知道大家遇到过没有: 1.在Canvas中直接设置元素位置,是有效果的,比如 Canvas.SetLeft(box, 50); 2.使用一个StoryBoard或直接BeginAnimation动画改变位置,也是有效果的 (见test1_Click) 3.在使用动画改变元素位置后,再使用Canvas.SetLeft,纹丝不动!!? XAML代码: <Canvas> <Border x:Name="b

jsp和asp.net共享session值示例代码_实用技巧

思路是ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成的Session对象,在JAVA端转换时,出现了错误,找遍网上的资料也没能解决,故采用一种替换的方式. 替换的方式的思路: 登录的ASPX文件中,在登录成功后将Session中的变量值保存到数据库中的一张表,关键字使用ASP.NET的Session对象的SessionID,然后建立一个ASPX文件,取得当前登录用户的SessionID,并使用的ASP.

asp.net-小白提问:我想做一个 ASP.net 后台导出Excel 并且设置它的页眉页脚及列宽。大神有例子吗?

问题描述 小白提问:我想做一个 ASP.net 后台导出Excel 并且设置它的页眉页脚及列宽.大神有例子吗? 如图:我想做一个 ASP.net 后台导出Excel 并且设置它的页眉页脚及列宽.大神有例子吗? 解决方案 用NPOI这个类,可以设置页眉页脚,具体google下.