1、Cookie对象

       Cookie是ASP.NET的一个内置对象,该对象可以在浏览器端存储一定的数据。当页面向服务器发送请求时都会包含Cookie对象的信息,通过判断该信息来确定用户的状态,例如记住用户名,

    

       HttpCookie cookie=new HttpCookie("Login"); //创建一个Cookie

       cookie.Values.Add("Name","John");          //采用键值对方式添加要存储的信息

       cookie.Expires=DateTime.Now.AddYears(1);   //设置Cookie为1年

       Response.Cookie.Add(cookie);               //把cookie放到当前面的Response对象里面

       string name=cookie.Values["Name"];         //获取Cookie中的值

    

    2、Session对象

       Session对象也是ASP.NET的内置对象,该对象可以用来将数据保持在服务器端,同时会生成一个SessionID发送到客户端浏览器。每次客户端浏览器发送请求时都会包括SessionID,服务器端

       代码通过获取SessionID来找到保持的数据,Session对象的使用方法如下所示:

       

       Session["ItemCount"]=0;                    //设置Session的值

       int i=(int)Session["ItemCount"];           //获取Session的值

       客户端需要接收、存储和回送Session对象的ID,因此,通常情况下Session是借助Cookie来传递DI

    

    3、Server对象

       Server对象时ASP.NET的一个内置对象,该对象提供了一些方法和属性可以用于对服务器上的资源进行访问,其使用方法如下所示。

       

       string machineName=Server.MachineName;     //获取服务器的计算机名称

       int timeOut=Server.ScriptTimeout;          //获取请求超时时值(以秒计)

       string path=Server.MapPath(".");           //获取当前目录所在服务器的物理路径

    

    4、Application 对象

       Application 是一个全局对象,表示应用程序状态。该对象可以供应程序中所有类来使用,其原理是在服务器端建立一个状态变量来存储所需要的数据。该对象经常用来记录网站被访问的次数

       ,其使用方法如下所示。

       

       Application["Visitors"]=0;                 //设置对象的值

       Application.Lock();                        //锁定当前对象

       Application.UnLock();                      //解锁当前对象

    

    5、Server对象常用的属性和方法

       在ASP.NET的Server对象中包含了很多属性和方法,通过这些属性和方法可以解决页面重定向、获取服务器的物理地址、对字符串进行编码和解码等问题。

       关于Server对象中常用的属性和方法的讲解。

       MachineName 属性: 获取服务器的计算机名称。

       ScriptTimeout属性:获取和设置请求超时值(以秒计)。

       Execute(string,path)方法:在当前请求的上下文中执行指定资源的处理程序。

       HtmlDecode(string s)方法:对HTML编码的字符串进行解码,并返回已解码的字符串。

       HtmlEncode(string s)方法:对字符串进行HTML编码并返回已编码的字符串。

       MapPath(string path)方法:返回与Web服务器上的指定虚拟路径相对应的物理文件路径。

       UrlDecode(string s)方法:对字符串进行URL解码并返回已解码的字符串。

       UrlEncode(string s)方法:对字符串进行URL编码,并返回已编码的字符串。

    

     6、Cookie的常用属性

       ASP.NET中提供了Cookie对象来实现状态管理,该对象包含许多属性和方法用于对Cookie的增加、删除、取值等操作。

       Expires属性:获取或设置Cookie的过期日期和时间

       Name属性:获取或设置Cookie的名称

       Path属性:获取或设置输出流的HTTP字符集

       Add()方法:添加一个Cookie变量

       Clear()方法:清除Cookie变量

       Get()方法:通过索引或变量名得到Cookie变量值

       GetKey()方法:以索引值获取Cookie变量名称

       Remove()方法:通过Cookie变量名称来删除Cookie变量

     

     7、Cookie和Session的对比

       Cookie和Session都是解决HTTP协议五状态问题的办法,都可以用来记录用户的信息,只是Cookie将用户的信息保持在浏览器端,Session将信息保持到服务器端。在Cookie中存放的信息

       存在安全隐患,而且有可能存在用户的浏览器Cookie被禁用,那么Cookie功能将会失效;Session存放在服务器端较为安全,可以存放用户名、密码等安全数据。


     8、页面生成的两种方式

       在项目中除了一些简单的html展示页面外,还可以通过ASP.NET程序来生成页面代码,生成方式有以下两种。

       1)、在程序中拼接字符串。将要展示的页面HTML代码标签写入到字符串中,然后将页面生成模式修改为"text/html"。

       2)、通过读取模版方式。当页面内容比较多或者比较复杂并且需要动态添加内容时,可以先写好HTML模版,在该模版中需要动态添加数据的地方使用占位符,然后以文件的方式读取HTML

       文中的内容,并使用字符串替换,将内容加入到页面中,最后输出页面。

     

      9、模版读取

       在使用一般处理程序时,一般都会使用模版读取的方式来生成页面,HTML模版是以文件的方式存在的,读取国产中需要使用文件操作的方式来读取模版,实现代码如下所示:

       string path=context.Request.MapPath("/Show.html"); //相对路径转换为绝对路径

       string textTemp=File.ReadAllText(path);            //读取路径中的内容

       string result=textTemp.Replace("@StrTrBody",sb.ToString());//替换占位符

       context.Response.Write(result);                    //输出页面

       由于文件读写操作必须以绝对路径来进行,所有需要使用MapPath()方法进行路径转换,然后使用File.ReadAllText()方式来读取模板,最后替换占位符输出到页面。