当前位置:编程学习 > C#/ASP.NET >>

Session 易丢失怎么办?

请各位大虾看看有什么好的办法代替Session --------------------编程问答-------------------- Cookie ? --------------------编程问答-------------------- 用cookie --------------------编程问答-------------------- 用数据表! --------------------编程问答-------------------- 数据表 稳定安全 
session 一般 也不会丢失
--------------------编程问答-------------------- 数据表是怎么用啊? 我是初学者 就是做登陆的时候  我用session保存随机生成的验证码,现在就是登陆的时候保存验证码的session总是丢失  所以报错!   给个例子好不?  谢谢! --------------------编程问答-------------------- 贴代码  怎么可能 总流失 --------------------编程问答-------------------- 找个东东存一下。 --------------------编程问答-------------------- 验证码还是用session比较好。 --------------------编程问答-------------------- 谁给个数据表  存放的例子    我学习学习 --------------------编程问答-------------------- session怎么不会丢失啊 ?
--------------------编程问答-------------------- 你是用框架传值的么?如果是框架,SESSION有时是很容易丢失的,将session的存储模式改为本地,如果实在服务器上是会丢失的,我遇到过这种情况~~~  --------------------编程问答-------------------- session的存储模式 在那改啊 ?
--------------------编程问答--------------------
引用 12 楼 lspzengjing1989 的回复:
session的存储模式 在那改啊 ?

web。config --------------------编程问答-------------------- 添加一个web.config 就自动会有那个标签吗   那个标签是那个啊?
--------------------编程问答--------------------     一般存验证码是验证码到后台类随机生成.所以需要存SESSION,但是如果你先随机出一个值,让画验证玛的类按你定的标准去画不就好了。不需要存数据库了,但是要多传一个参数,一般是将图片的路径改
url='<%# getUrl()%>' getUrl是后台方法名.让后台随机一个字符串,然后拼一个路径过去,这样验证玛的值可以自己控制了.不过放session没错.既然有了session就要用。万物都有用,但不要滥用就好.过度用SESSION是种迷信,完全不用SESSION也是种误区.
    其实过度相信某种事物或理论就是迷信.迷信的不是事物,而是你信他的程度.实际上没有迷信的东西.迷信都是人造成的. --------------------编程问答-------------------- 在有些情况下:如删除目录文件等容易造成session值丢失,更改状态模式 启用状态服务管理, --------------------编程问答-------------------- 数据库保存+cookie --------------------编程问答-------------------- 用 Session.Timeout 这个属性 把时间设置长点就可以了 --------------------编程问答-------------------- 可以看下FormsAuthentication 这个类 --------------------编程问答-------------------- 1、index.cs中怎么写单击事件了?改表格的背景色。Lable2控件值随点击的表格不同。 
2、动态选项卡切换的那种无刷新。放在AJAX控件做的。 
下面代码实现了通过单击按钮无刷新该变数值。但换成单击单元格或表单怎么写?求高手帮忙。在线等 
前台Index.aspx如下:      
<asp:ScriptManager ID="ScriptManager1" runat="server"> 
        </asp:ScriptManager> 
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
            <ContentTemplate> 
                  <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text=" BtnChild" />  
                <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text=" BtnParent" /> <br /> 
                <br /> 
                <asp:Label ID="Label2" runat="server" Text="Label"> </asp:Label> 
            </ContentTemplate> 
        </asp:UpdatePanel> 
Index.cs如下: 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
        this.Label2.Text = "1"; 
    } 
    protected void Button2_Click(object sender, EventArgs e) 
    { 
        this.Label2.Text = "2"; 
    } --------------------编程问答-------------------- 谁帮我。没人回答我的问题啊。。。
--------------------编程问答-------------------- 大家搜索下 asp.net动态选项卡的问题这个问题。。。在线等的了。。。
谢谢了
--------------------编程问答-------------------- 时限问题?? 先闹清楚session 为什么会丢失  用cookie吧 --------------------编程问答-------------------- 原因1:
bin目录中的文件被改写,asp.net有一种机制,为了保证dll重新编译之后,系统正常运行,它会重新启动一次网站进程,这时就会导致Session丢失,所以如果有access数据库位于bin目录,或者有其他文件被系统改写,就会导致Session丢失

原因2:
文件夹选项中,如果没有打开“在单独的进程中打开文件夹窗口”,一旦新建一个窗口,系统可能认为是新的Session会话,而无法访问原来的Session,所以需要打开该选项,否则会导致Session丢失

原因3:
似乎大部分的Session丢失是客户端引起的,所以要从客户端下手,看看cookie有没有打开

原因4:
Session的时间设置是不是有问题,会不会因为超时造成丢失

原因5:
IE中的cookie数量限制(每个域20个cookie)可能导致session丢失

原因6:
使用web garden模式,且使用了InProc mode作为保存session的方式

解决丢失的经验
1. 判断是不是原因1造成的,可以在每次刷新页面的时候,跟踪bin中某个文件的修改时间
2. 做Session读写日志,每次读写Session都要记录下来,并且要记录SessionID、Session值、所在页面、当前函数、函数中的第几次Session操作,这样找丢失的原因会方便很多
3. 如果允许的话,建议使用state server或sql server保存session,这样不容易丢失
4. 在global.asa中加入代码记录Session的创建时间和结束时间,超时造成的Session丢失是可以在SessionEnd中记录下来的。
5. 如果有些代码中使用客户端脚本,如javascript维护Session状态,就要尝试调试脚本,是不是因为脚本错误引起Session丢失 --------------------编程问答-------------------- session 默认是20分钟吧。你可以把这个调高点
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,