首页 新闻 搜索 专区 学院

.net中session的保存时间

0
悬赏园豆:10 [已关闭问题]

userBean u = zhg.checkLogin(this.TextBox1.Text.Trim(), this.TextBox2.Text.Trim());
            Session["user"] = u;
            Session.Timeout = 1440;//Session的保存时间

            if (u.UserRole ==2)
            {
               Response.Redirect("BgManagement.aspx?id=" + u.ID);//后台管理
            }
            else if (u.UserRole == 0)
            {
                Response.Redirect("Leaders .aspx?id=" + u.ID);//领导
            }
            这么写好像不顶用!!!

 

各位提供一个好的方法

问题补充: 我找到一篇相关的文章,按着要去一步一步往下走,把session保持到数据库,但是每次都出现这个错误!!! 请各位帮帮忙!!! “/GD_Item”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。 源错误:
珠儿的主页 珠儿 | 初学一级 | 园豆:4
提问于:2010-03-22 15:02
< >
分享
其他回答(1)
0

在WebConfig中修改。

如:

<sessionState timeout="1000"></sessionState>

齐.net | 园豆:1421 (小虾三级) | 2010-03-22 15:31
添加到哪个节点下面?
支持(0) 反对(0) 珠儿 | 园豆:4 (初学一级) | 2010-03-22 16:04
<system.web>下面
支持(0) 反对(0) 齐.net | 园豆:1421 (小虾三级) | 2010-03-22 17:51
无法序列化会话状态的原因是你的类没有标记为可序列化。 在你的类前面加上[Serializable]就OK了
支持(0) 反对(0) 齐.net | 园豆:1421 (小虾三级) | 2010-03-22 17:52
0

session 时间有很多不确定的因素,iis回收之类的,要确定时间的话最好写到数据库或用cookie。现在微软也搞不定这东西,就出了个配置一下写到sqlserver,呵呵。

LittlePeng | 园豆:3395 (老鸟四级) | 2010-03-22 16:04
哦 写到数据库?我查找下相关文章,谢谢
支持(0) 反对(0) 珠儿 | 园豆:4 (初学一级) | 2010-03-22 16:10
默认在W3WP的进程里,的确可能不稳定。我觉得最好还是主StateServer里。 但这样需要打开服务器上的StateServer服务
支持(0) 反对(0) 齐.net | 园豆:1421 (小虾三级) | 2010-03-22 17:54
@齐.net:恩,还是刚刚学。net的时候用过session后来都放弃了,cookies完全可以搞定。不过安全的话还是用session,StateServer很好,写到一个稳定的进程比较快,数据库慢`~~
支持(0) 反对(0) LittlePeng | 园豆:3395 (老鸟四级) | 2010-04-04 12:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册