黑马程序员技术交流社区

标题: sesson的缺点 [打印本页]

作者: 酱悠先生    时间: 2014-4-9 19:06
标题: sesson的缺点
sesson的缺点是什么
作者: Monkey·D·Chas    时间: 2014-4-9 20:41
有生命周期。好像是半个小时 没有活动 session就会自动结束!
作者: 袁晓俊    时间: 2014-4-9 20:53
缺点      Session变量和cookies是同一类型的。如果某用户将浏览器设置为不兼容任何cookie,那么该用户就无法使用这个Session变量!      当一个用户访问某页面时,每个Session变量的运行环境便自动生成,这些Session变量可在用户离开该页面后仍保留20分钟!(事实上,这些变量一直可保留至“timeout”。“timeout”的时间长短由Web服务器管理员设定。一些站点上的变量仅维持了3分钟,一些则为10分钟,还有一些则保留至默认值20分钟。)所以,如果在Session中置入了较大的对象(如ADO  recordsets,connections, 等等),那就有麻烦了!随着站点访问量的增大,服务器将会因此而无法正常运行!      因为创建Session变量有很大的随意性,可随时调用,不需要开发者做精确地处理,所以,过度使用session变量将会导致代码不可读而且不好维护。      虽然“你可以在任何想要使用的时候直接使用session变量,而不必事先声明它,这种方式接近于在VB中变量的使用。使用完毕后,也不必考虑将其释放,因为它将自动释放”。但是,“谁”想到那儿呢?变量的含义是什么?这些都变得不很清晰。    总结      使用Session变量既有优点,又有缺点。就我个人的观点,最好少用,但在某些地方使用它们确实能使Web开发大大地简化。是否使用Session变量完全取决于个人的需要,无论使用与否,都要事先考虑其优缺点
作者: 爱吃桃子的猫    时间: 2014-4-9 22:51
Session 是用于保持状态的基于 Web 服务器的方法。Session允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。对象保存在Session里面是有一定的时间和条件限制的,即客户端要在一定的时间间隔内保持与服务器的交互,这个时间间隔默认为20分钟,可根据不同的需要进行设当的调整,下面给出Session一般的使用方法:
1、可以保存值类型:如string字符串型:
写入Session:
string username="username";
Session["username"]=username;
读出Session中对应的值,需要判断指定Session是否存在:
string username="";
if(Session["username"]!=null)
{
username=Session["username"].ToString();
}
2、可以写入对象类型:如用户自定义了一个Users类
class     Users
{
public Users(){}
public string username{get;set;}//账号
public string pwd{get;set;}//密码
}
对象写入Session:
Users user=new Users();
user.username="51asp.net.cn";
user.pwd="51asp.net.cn";
Session["Users"]=user;
读出Session中的对象,同样需要判断指定Session是否存在:
Users user=new Users();
if(Session["Users"]!=null)
{
user=(Users)Session["Users"];
}
3、用户登录中Session的使用(这里只保存字符型值):
页面初始化时需检查Session中是否有值:
if(!IsPostBack)
{
if(Session["username"]!=null)
{
string username=Session["username"].ToString();
}
else{
Response.Redirect("~/Login.aspx");//跳转到登录页面
}
}
登录时写入Session:
Session["username"]=this.userName.Text;
4、Session的缺点:
它是保存在服务器端内存中的一个个因客户端不同而独立的数据,因此同时在线的人越多,不同的Session值也就越多,服务器内存占用的就越多,可想而知,用户多的话,对服务器的配置还是有要求的。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2