现在的位置: 首页 > 综合 > 正文

Asp.net中的几个对象

2014年02月06日 ⁄ 综合 ⁄ 共 2227字 ⁄ 字号 评论关闭

Asp.net中的几个对象

  1.  Request:可以访问关于请求Web页面的个人或进程的信息

  2.  Response:提供一种方法,以准确控制如何将响应发送回发出请求的人那里

  3.  Server:提供一系列有用的与Web相关的实用程序。

  4.  Application:为经常使用的信息提供了一个有用的Web站点存储位置

  5.  Session:可以为每个用户的会话存储信息。

  Request

  Request可以访问关于请求Web页面的个人或进程的信息。Request对象可以从个人的Web浏览器向我们有效的传递消息。

比较有用的两个属性为:

Cookies:通过这个属性可以查看访问者以前在本站的cookies

QueryString:返回任何使用GET传输到页面的参数。

  Response

  Response提供一种方法,以准确控制如何将响应发送回发出请求的人那里。Response对象可以访问即将发送回请求Web浏览器的http响应。

常用属性:

1.  Redirect:它将用户重定向到另一个页面

2.  Write:将字符串写入html流。

  Server

Server提供一系列有用的与Web相关的实用程序。

常用属性:

MapPath:此属性带有一个虚拟路径的参数

比如MapPath(“/webapp/myfile.aspx”),返回该文件在物理磁盘的准确位置

状态处理:

包括Application,Session,Cookies

主要要注意的有状态的作用域,状态存储位置,状态如何改变等。

  Application

Application为经常使用的信息提供了一个有用的Web站点存储位置

Application中的信息可以被网站的所有页面访问。

Application的初始配置:

在应用程序启动时配置初始状态,在Global.asax中配置

protected void Application_Start(Object sender, EventArgs e)

         {

              Application["UserCount"] = 0;

         }

使用Lock和Unlock避免两个页面同时修改状态

Application.Lock();

Application["UserCount"] = (int)Application["UserCount"]+1;

Application.UnLock();

Application几点说明:

1.   它用于经常使用的数据,如果只是偶尔使用,可以把信息存储在磁盘的文件中,大部分情况下,web.config文件可以完成这个任务。

2.  Application对象是一个集合对象,它除了包含文本信息外,也可以存储对象。

3.  如果站点开始就有很大的通信量,则使用Web.config文件,不要用Application状态

  Session

  它可以为每个用户的会话存储信息。默认的超时时间为20分钟,用户关闭网页后自动结束。

常用属性:

Abandon():此方法结束当前的会话,清楚会话中的所有信息。

Clear():清除会话中所有信息,不结束会话。

IsNewSession:如果在用户访问当前页面时创建了绘画,则此属性返回true,在使用会话前需要使用某些数据初始化会话时,该属性很有用。

TimeOut:此属性在会话终于之前以分钟为单位获取和设置闲置时间。默认时间为20分钟

if (Session["test"]==null)

{

     Session["test"] = 1;

}

else

{

     Session["test"] = (int)Session["test"]+1;

}

Session说明:

1.  存储在Web服务器端,

2.  实际信息与每一位访问者相关

3.  是对象集合,可以存储对象

4.  不要在会话中存储不常时间的东西,不要在会话中存储大量东西

  Cookies

  存储与每一位用户相关的小段信息,通常也与网站相关。存储在用户的硬盘上,通常期限比Session的期限大。

Cookies的生存期设置

DateTime dt = DateTime.Now;

TimeSpan timeSpan = new TimeSpan(30,0,0,0);  //30天

if (Request.Cookies["test"]!=null)

{

      Request.Cookies["test"].Expires = dt.Add(timeSpan);

     }

cookies例子

if (Request.Cookies["test"]==null)

     {

      int i = 1;

      HttpCookie c = new HttpCookie("test");

      c.Value = "1";

      Request.Cookies.Add(c);

     }

else

     {

      int k = Convert.ToInt32(Request.Cookies["test"].Value)+1;

      Request.Cookies["test"].Value = k.ToString();

     }

 

 

原帖地址:http://blog.csdn.net/flypigluo/archive/2005/08/21/460724.aspx

http://blog.csdn.net/iamyina/archive/2009/05/21/4205315.aspx

抱歉!评论已关闭.