论文部分内容阅读
【摘要】 本文首先介绍了Session对象的基本含义,其次讲解了Session对象的基本用法,最后通过具体的实例演示Session对象如何在两个Web页面之间进行参数的传递。
【关键词】 Session 参数 生命周期
Session是ASP.NET中的内置对象,在编程中是“会话”的意思。它的主要作用是保存特定用户的信息,而不同的用户又无法相互访问。Session的使用方法非常简单,要想使用Session对象首先需要给Session赋值,如果需要将某个字符串“abc”存储到Session对象中,其基本写法是:Session[”变量名”]=”abc”;,而如果从Session中读取出变量,其基本写法是: string abcstring=Session[”变量名”].tostring();。
在开发ASP.NET网站程序中,大多数的用户会遇到参数在各个页面之间如何传递的问题。参数的传递有多种方法,我们可以利用QueryString传值、Server.Transfer传值、Cookie对象传值,也可以使用Applicaion对象。但如果要实现特定用户的信息传递,Session对象是最好的方法。
Session对象主要是实现各个页面间传递特定参数。在使用Session对象的时候要注意其有生命周期。通常IIS(Internet信息服务)默认设定的时间是20分钟,如果用户在20 分钟内没有进行任何操作,系统将自动收回Session,或者用户也可以在系统没有收回前自行退出登录或离开页面,此时Session也将被销毁。当然网站管理员也可以设置更长的Session的生命周期。
下面以一个项目为例介绍session的使用:
1、在本机安装一个Visual Studio 2008集成开发环境。新建一个WEB项目,命名为SessionTest,添加第一个页面,名称为testA.aspx,在testA中添加两个textbox控件,分别命名为username和password,再添加一个button按钮,命名为buttonlogin。
2、双击buttonlogin按钮,为button添加click( )事件,具体代码如下:
protected void Buttonlogin_Click(object sender, EventArgs e)
{
Session["uName"] = username.Text;
Session["pword"] = password.Text;
Response.Redirect("~/testb.aspx");
}
3、添加第二个页面,名称为testB.aspx,在页面中添加2个lable控件,命名为lbluname和lblpword。打开页面的load()事件,添加如下代码:
protected void Page_Load(object sender, EventArgs e)
{
lbluname.Text = Session["uName"].ToString();
lblpword.Text = Session["pword"].ToString();
}
4、运行程序,输入用户名和密码,单击“登陆”,那么在testB页面就会显示用户输入的用户名和密码。
通过上述的实例,可以看到,Session将testA页面中的用户名和密码传递到testB 中的label中,从而实现了页面之间的参数传递。通常在线商城、b/s在线考试软件中都是使用Session在各个页面之间进行特定用户参数的传递,这样用户只要登陆以后就可以浏览网站的各个页面而不需要再次登陆。由于Session是保存在服务器端的,而Cookie是保存在客户端的,所以使用Session对象可以大大的提高系统的安全性和可靠性。但也应该注意,如果大量的使用Session会增加服务器的负担,在安全性要求不太高的情况下应减少Session的使用,以减少服务器的负担。
总之,通过上面的分析,我们可以看出Session在动态网页中起着举足轻重的作用。它不仅可以将值传递给下一个页面,也可以把值交叉传递到多个页面。
参 考 文 献
[1]陈长喜.ASP.NET程序设计基础教程.清华大学出版社,2011.
[2]李国庆.ASP.NET程序设计项目教程.北京理工大学出版社,2010.
王玉宝,男,1981年9月,民族:汉,籍贯:安徽六安人,学历:本科,职称:助教,工作单位:皖西卫生职业学院,研究方向:计算机科学与技术.
【关键词】 Session 参数 生命周期
Session是ASP.NET中的内置对象,在编程中是“会话”的意思。它的主要作用是保存特定用户的信息,而不同的用户又无法相互访问。Session的使用方法非常简单,要想使用Session对象首先需要给Session赋值,如果需要将某个字符串“abc”存储到Session对象中,其基本写法是:Session[”变量名”]=”abc”;,而如果从Session中读取出变量,其基本写法是: string abcstring=Session[”变量名”].tostring();。
在开发ASP.NET网站程序中,大多数的用户会遇到参数在各个页面之间如何传递的问题。参数的传递有多种方法,我们可以利用QueryString传值、Server.Transfer传值、Cookie对象传值,也可以使用Applicaion对象。但如果要实现特定用户的信息传递,Session对象是最好的方法。
Session对象主要是实现各个页面间传递特定参数。在使用Session对象的时候要注意其有生命周期。通常IIS(Internet信息服务)默认设定的时间是20分钟,如果用户在20 分钟内没有进行任何操作,系统将自动收回Session,或者用户也可以在系统没有收回前自行退出登录或离开页面,此时Session也将被销毁。当然网站管理员也可以设置更长的Session的生命周期。
下面以一个项目为例介绍session的使用:
1、在本机安装一个Visual Studio 2008集成开发环境。新建一个WEB项目,命名为SessionTest,添加第一个页面,名称为testA.aspx,在testA中添加两个textbox控件,分别命名为username和password,再添加一个button按钮,命名为buttonlogin。
2、双击buttonlogin按钮,为button添加click( )事件,具体代码如下:
protected void Buttonlogin_Click(object sender, EventArgs e)
{
Session["uName"] = username.Text;
Session["pword"] = password.Text;
Response.Redirect("~/testb.aspx");
}
3、添加第二个页面,名称为testB.aspx,在页面中添加2个lable控件,命名为lbluname和lblpword。打开页面的load()事件,添加如下代码:
protected void Page_Load(object sender, EventArgs e)
{
lbluname.Text = Session["uName"].ToString();
lblpword.Text = Session["pword"].ToString();
}
4、运行程序,输入用户名和密码,单击“登陆”,那么在testB页面就会显示用户输入的用户名和密码。
通过上述的实例,可以看到,Session将testA页面中的用户名和密码传递到testB 中的label中,从而实现了页面之间的参数传递。通常在线商城、b/s在线考试软件中都是使用Session在各个页面之间进行特定用户参数的传递,这样用户只要登陆以后就可以浏览网站的各个页面而不需要再次登陆。由于Session是保存在服务器端的,而Cookie是保存在客户端的,所以使用Session对象可以大大的提高系统的安全性和可靠性。但也应该注意,如果大量的使用Session会增加服务器的负担,在安全性要求不太高的情况下应减少Session的使用,以减少服务器的负担。
总之,通过上面的分析,我们可以看出Session在动态网页中起着举足轻重的作用。它不仅可以将值传递给下一个页面,也可以把值交叉传递到多个页面。
参 考 文 献
[1]陈长喜.ASP.NET程序设计基础教程.清华大学出版社,2011.
[2]李国庆.ASP.NET程序设计项目教程.北京理工大学出版社,2010.
王玉宝,男,1981年9月,民族:汉,籍贯:安徽六安人,学历:本科,职称:助教,工作单位:皖西卫生职业学院,研究方向:计算机科学与技术.