aspnet七大内置对象
- 格式:docx
- 大小:49.67 KB
- 文档页数:17
ASP的内建对象ASP的内建对象共有六种:Request对象:可以保存WEB Client端送往WEB Server端的所有信息。
包括用GET或是POST方法传递的数据,Server环境变量、Cookie信息等。
Response对象:主要是将信息从WEB Server端传送到WEB Celient端。
也可以使用它实现页面的跳转或Cookie值的设定。
ASP的输入值功能也是由Response来完成。
Server对象:主要是执行与WEB服务器直接相关的一些操作。
它只有一个属性ScriptTimeout。
它重要的方法为CreateObject方法、HTMLEncode方法、MapPath方法、UrlEncode方法。
Session对象:相当于每个上线用户的私有变量集合,随着用户上线而产生,用户下线或强制解除而终止。
Application对象:能记录所有WEB用户的共有信息,相当于上线用户的公共变量集合。
它随着Web应用程序的开始运行而产生,随着Web应用程序的运行结束而终止。
Objectcontext对象:主要在进行交易处理时使用,利用该对象可以管理、控制这些交易。
通常Objectcontext对象利用Complete方法声明交易的正常结束,使用Abort方法声明交易的异常结束。
Response有五大典型功能:1.可以对外输出信息。
2.控制信息的传送时刻。
3.重定向网页。
4.控制浏览器的Cache 。
5.设置用户的Cookie 。
Response的常用属性与方法:属性篇1.Buffer属性:指示是否缓冲页输出。
语法:Response.Buffer = true/false当缓冲页输出时,只有当前页的所有服务器脚本处理完结或者调用了Flush或End方法后,服务器才将响应发送给客户端。
由于服务器向客户端发送信息后就能再设置Buffer 属性,因此一般在脚本程序的最前面对Buffer属性设置。
2.CacheControl属性:忽略Private默认值。
习题一:1.如何安装IIS?如何检测自己的计算机上是否安装了IIS?1>选择”开始”→“设置”→ “控制台”→“添加和删除程序”→“添加/删除Windows组件”,弹出“Windows组件向导”对话框。
2>选中“Internet信息服务(IIS)”,单击“详细信息”按钮,弹出“Internet信息服务(IIS)”对话框。
3>选中“万维网服务”复选框,单击“详细信息”按钮,弹出“万维网服务”对话框。
4>连续单击“确定”按钮,再单击“下一步”按钮,自动安装IIS。
5>单击“完成”按钮,IIS安装完成。
6>选择“开始”→“设置”→“控制台”→“管理工具”,如果图中有“Internet信息服务”选项,说明IIS已经安装上了。
7>打开IE浏览器,在地址栏中输入http://localhost,则可以说明IIS安装成功。
2.如何建立自己的虚拟目录?1>在c盘上新建文件夹mysite。
2>选择“开始”→“程序”→“附件”→“记事本”吧,在记事本程序中输入“欢迎进入我的网站主页”。
3>选择“档”→“另存为”,保存类型选择“所有档”,文件名保存为index.html,在编辑框中选择“C:\mysite”保存,网站主页保存在了C:\mysit文件夹下。
4>建立虚拟目录mysite。
选择“开始”→“控制台”,双击“管理工具”,双击“Iternet信息服务”,打开Iternet信息服务程序。
5>选中默认网站,右击,选择“新建”→“虚拟目录”,弹出“虚拟目录创建向导”对话框。
6>单击“下一步”按钮,在打开的题中别名项输入mysite,单击“下一步”,目录选择C:\mysite,连续单击“下一步”按钮。
7>单击“完成”按钮,完成虚拟目只录的创建。
8>选择“开始”→“设置”→“控制台”,双击“管理工具”,双击“Iternet信息服务”,就会出现刚才创建的虚拟目录。
第1章习题及参考答案一.单选题1.(C )技术是基于Java Servlet以及整个java体系的Web开发技术。
A.CGI B.ASP C.JSP D.PHP2.下面哪一个不是动态网页技术(D )。
A. B.ASP C.JSP D.HTML3.在客户端网页脚本语言中最为通用的是( A )。
A.JavaScript B.VB C.Perl D.ASP4.下列描述错误的是( B )。
A.DHTML是HTML基础上发展的一门语言B.HTML主要分为两大类:服务器端动态页面和客户端动态页面C.客户端的DHTML技术包括HTML4.0、CSS、DOM和脚本语言D.DHTML侧重于WEB内容的动态表现5.可以不用发布就能在本地计算机上浏览的页面编写语言是(B )。
A.ASP B.HTML C.PHP D.JSP6.一个HTML文档必须包含3个元素,它们是html、head和(B )。
A.script B.body C.title D.link7.下面(C )是换行符标签。
A.<body> B.<font> C.<br> D.<p>8.为了标识一个HTML文件,应该使用的HTML标记是( C )。
A.<p></p> B.<boby></body> C.<html></html> D.<table></table> 9.在静态网页中,必须使用(A )标记来完成超级链接。
A.<a>…</a>B.<p>…</p>C.<link>…</link>D.<li>…</li> 10.用HTML标记语言编写一个简单的网页,网页最基本的结构是(D )。
A.<html> <head>…</head> <frame>…</frame> </html>B.<html> <title>…</title> <body>…</body> </html>C.<html> <title>…</title> <frame>…</frame> </html>D.<html> <head>…</head> <body>…</body> </html>11.以下标记符中,用于设置页面标题的是(A )。
内置对象(详细) 今天跑到图书馆看书,很多东西忘了,以⾄有时候求职⾯试时说不出来,便有空来看看书 以下是从《C#与程序设计教程》王振武著⼀书上看到的,写的挺详细的,有时候会⽤到,便搬到这边来,共分享,学习;我只是知识的搬运⼯⽽已,哇咔咔! 内置对象名称功能说明Page对页⾯的内容进⾏处理Requset获取客户端及服务端的相关信息Response将HTTP相关数据及其有关信息发送到客户端Server提供⼀系列与WEB相关的程序Session在服务器的内存中储存客户会话的信息Cookie在客户端储存与客户和⽹站相关的信息Application在服务端储存应⽤程序多次访问的信息Page对象的常⽤属性 IsPostBack:获取⼀个布尔类型的值,该值表⽰页⾯是否⾸次加载和访问;第⼀次访问为false,再次访问为true. Form:获取页⾯的HTML窗体。
Validator:获取请求的页上包含验证控件的集合Page对象的常⽤事件 PreInit:在页⾯初始化开始时的发⽣ Init:当服务器控件初始化时发⽣;初始化是控件⽣存期的第⼀步 InitComplite:在页初始化完成时发⽣ PreLoad:在页Load事件之前发⽣ Load:在服务器控件加载到Page对象中时发⽣ LoadComplete:在页⽣命周期的加载阶段结束时发⽣ PreRender:在加载Control对象之后,呈现之前发⽣ Unload:在服务器控件从内存中卸载时发⽣ Dispose:在从内存释放服务器控件时发⽣ DataBinding:当服务器控件绑定到数据源时发⽣页⾯执⾏顺序⼤致如下:1. 页⾯初始化,触发Page_Init()事件2. 加载页⾯视图状态viewstate;viewstate⽤来维护控件⾃⾝的状态,是不能被⽤户访问的3. 加载页⾯,触发Page_Load事件4. 页⾯运⾏时服务器控件引发的事件5. 页⾯从内存中卸载。
《ASP net开发技术》课程标准课程名称:ASP net开发技术课程编码:60415023总学时数:52学时理论学时26学时实践学时26学时适用专业:物联网应用技术一、课程概述1.课程定位《ASP net开发技术》课程是计算机系计算机网络技术专业学生的一门必修专业课,课程性质是技术类专业课,旨在培养学生应用 nET 技术开发Web 应用程序的能力,以培养学生实际开发Web 程序的主要技能和职业素养为主线,重点围绕面向对象程序设计基本技能、C# 语言程序设计能力、Web 网站开发能力等内容培养学生使用 nET 技术开发Web 应用程序的技能。
本课程是计算机系计算机网络技术专业的专业核心课程之一,是培养基于 net 技术Web 程序员的主要支撑课程。
通过课程学习使学生具备适应 Web 程序员岗位的专业技能和职业素养,并掌握一定的理论知识,为就业后的可持续发展奠定基础。
《ASP net开发技术》课程的先修课程有:《网页编程技术》、《C#程序设计》、《数据库技术》等课程,这些课程属于职业准备课程和职业技能训练课程,为学习本课程和职业岗位准备基本技能,后续课程是毕业设计或顶岗实习,属于岗位技能应用课程,与学生毕业后的职业岗位任职要求相一致,前、后续课程衔接得当,符合职业岗位的任职要求和职业发展的需要。
2.课程设计思路本课程以就业为导向,在行业专家的指导下,以Web 应用开发程序员、企业网站建设、企业网站维护管理等职业岗位能力培养为重点,以实际工作任务为引领,以创新能力培养为主线,将课程知识体系整合为9个技能教学模块,在教学过程中注意体现学生设计能力培养的循序渐进性,采用理论教学+实验实训+综合项目实训3层递进相结合的模式来提高教学质量。
实际教学中,按照项目导向、任务驱动教学模式,设计和开发一系列基于工作过程的教学标准和教学资源,实现“教、学、做”一体化的课堂教学。
在教学内容和方法上贯彻“技能培养为主,知识够用为度”的教学思想,旨在培养学生的创新意识,提高岗位实践能力和适应能力。
ASP网络程序设计期末复习一、基本内容:1. ASP内置对象:Response、Request、Application、Session、Server作用、主要方法及属性2.ASP内置组件File Access组件、Ad Rotator组件、PageCounter组件、ContentLinking组件、ADO组件组件作用、组件对象创建、组件对象的方法、属性及使用方法3 .ADO组件与Web数据库(1)连接数据库:①两种连接技术:对象连接嵌入数据库连接(OLEDB)、开放数据库连接(ODBC)②三种连接方法:◆创建基于OLEDB的连接:Dim dbSet db=Server.CreateObject("ADODB.Connection") '创建连接对象db.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _' Server.Mappath("address.mdb") & "; Persist Security Info=False" '设置连接串属性db.open◆创建没有ODBC数据源的基于ODBC的连接Dim db, strConSet db=Server.CreateObject("ADODB.Connection") '创建连接对象strCon ="Dbq="&Server.Mappath("address.mdb")&";Driver={Microsoft Access Driver (*.mdb)}"db.open strCon◆创建有数据源的基于ODBC的连接首先要通过windows系统的管理工具中的数据源建立一个系统数据源Dim db, strConSet db=Server.CreateObject("ADODB.Connection") '创建连接对象db.open "DNS=数据源名"(2) 操作数据库◆三种渠道:①ADO组件的连接对象(connection)的Execute方法:语法格式:connection.execute CommandText [,RecordAffected, Option]其中:◆CommandText 表示所要执行的对数据库操作的SQL命令,可以是插入(Insert)记录、删除记录(delete),更新(update)、查询(select)等命令或数据库的存储过程(即在数据库管理系统中事先编写好的处理数据库的程序段)◆RecordAffected 返回每次对数据库操作影响的记录数,可以省略◆Option 指定操作中的命令类型,其取值详见教材P182表6-2例如:设db为已定义并成功实现与数据连接的ADO连接对象◆删除表users中name字段值为张三的记录,并将删除记录的条数存入number变量中strSql=”delete from users where name=‟张三‟“db.execute strSql ,number◆查询表users中姓名(name)字段值为张三的信息,将返回的记录集存入记录集变量rs中strSql=”select * from users where name=‟张三‟“rs=db.exectue (strSql)◆说明:ADO组件的连接对象(connection)的Execute方法在返回记录集时,要将命令参数写在括号内②ADO组件的记录集对象(Recordset)语法格式:创建记录集对象变量:rs=server.creatObject(“ADODB.Recordset”)打开记录集:rs.open 表名|SQL查询命令,活动连接对象名,游标类型,加锁类型向记录集中添加记录:rs.addnew删除记录集中当前记录:rs.delete将修改后的记录内容保存回数据库:rs.update*③ADO组件的命令对象(Command)的execute方法:与connection对象的execute方法类似,但在使用前设置其活动连接属性,指定一个活动连对象(详见教材P185~187◆事务处理:利用ADO连接对象的事务处理,避免不规范或错误数据被写入数据库。
介绍一下ASP的内置对象及作用ASP(Active Server Pages,活动服务器页面)是一种用于开发基于服务器的Web应用程序的技术。
在ASP中,有许多内置对象可用于处理Web页面请求和响应。
这些内置对象提供了丰富的功能来处理会话管理、数据库访问、文件操作、浏览器交互等操作。
下面将介绍ASP中常用的内置对象及其作用。
1. Request对象:用于获取来自浏览器的HTTP请求信息,如表单数据、查询字符串、cookie等。
可以通过此对象获取用户输入的数据并进行处理。
例如,使用Request对象可以获取通过表单POST请求传递的数据。
2. Response对象:用于向浏览器发送HTTP响应信息,比如输出HTML文本、设置Cookie、重定向页面等。
通过此对象可以将处理结果返回给用户的浏览器。
例如,使用Response对象可以输出动态生成的HTML页面。
3. Server对象:提供了许多与服务器相关的功能,比如创建对象、执行文件、获取服务器变量和属性等。
可以通过此对象来操作服务器资源,如访问文件系统、执行数据库查询等。
例如,使用Server对象可以将生成的HTML页面保存为静态文件。
4. Session对象:用于存储和管理用户会话数据。
会话数据是在用户访问网站时跨多个页面的数据。
可以使用Session对象保存用户登录信息、购物车内容等与用户相关的数据。
例如,使用Session对象可以在不同页面间共享数据。
5. Application对象:用于存储和管理应用程序级别的数据。
应用程序级别的数据是在应用程序启动时创建并一直保持在内存中的数据。
可以使用Application对象共享数据和状态信息。
例如,使用Application对象可以实现计数器,记录网站的访问次数。
6. Server.MapPath方法:用于将相对路径转换为服务器上的物理路径。
可以通过此方法获取文件系统路径,读取和写入文件,以及其他需要物理路径的操作。
内置对象之Request对象(概述及应⽤)Request对象主要⽤于获取来⾃客户端的数据,如⽤户填⼊表单的数据、保存在客户端的Cookie等。
ApplicationPath获取服务器上应⽤程序的虚拟应⽤程序根路径Browser获取有关正在请求的客户端的浏览器功能的信息,该属性值为:HttpBrowserCapabilities对象 ContentEncoding获取或设置实体主体的字符集。
该属性值为表⽰客户端的字符集Encoding对象ContentLength指定客户端发送的内容长度,以字节为单位ContentType获取或设置传⼊请求的MIME内容类型。
Cookies 获取客户端发送的Cookie集合,该属性值为表⽰客户端的Cookie变量的 HttpCookieCollection对象CurrentExecutionFilePath获取当前请求的虚拟路径FilePath获取当前请求的虚拟路径Files获取客户端上载的⽂件集合。
该属性值为HttpFileCollection对象,表⽰客户端上载的⽂件集合 Form获取窗体变量集合HttpMethod获取客户端使⽤的HTTP数据传输⽅法(如:get、post或head)Item获取Cookies、Form、QueryString或ServerVariables集合中指定的对象Params获取Cookies、Form、QueryString或ServerVariables项的组合集合Path获取当前请求的虚拟路径PathInfo获取具有URL扩展名的资源的附加路径信息PhysicalApplicationPath获取当前正在执⾏的服务器应⽤程序的根⽬录的物理⽂件系统路径PhysicalPath获取与请求的URL相对应的物理⽂件路径QueryString 获取HTTP查询字符串变量集合。
该属性值为:NameValueCollection对象,它包含由客户端发送的查询字符串变量集合RequestType获取或设置客户端使⽤HTTP数据传输的⽅式(get或post)ServerVariables获取Web服务器变量的集合TotalBytes获取当前输⼊流的字节数Url获取有关当前请求URL的信息UserHostAddress获取远程客户端的IP主机地址(1)MapPath(VirtualPath):将当前请求的URL中的虚拟路径virtualPath映射到服务器上的物理路径。
(1)简述ASP.NET内置对象。
答:ASP.NET提供了内置对象有Page、Request、Response、Application、Session、Server、Mail和Cookies。
这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息,以实现其他特定的状态管理和页面信息的传递。
(2)简述Response对象。
答:Response对象用来访问所创建的并客户端的响应,输出信息到客户端,它提供了标识服务器和性能的HTTP变量,发送给浏览器的信息和在cookie中存储的信息。
它也提供了一系列用于创建输出页面的方法,如无所不在的Response . Write方法。
(3)简述Request对象。
答:Request对象是用来获取客户端在请求一个页面或传送一个Form时提供的所有信息,这包括能够标识浏览器和用户的HTTP变量,存储在客户端的cookie信息以及附在URL 后面的值(查询字符串或页面中< Form>段中的HTML控件内的值)。
(4)简述Application对象。
答:在环境下,Application对象来自HttpApplictionStat类。
它可以在多个请求、连接之间共享公用信息,也可以在各个请求连接之间充当信息传递的管道。
使用Application对象来保存我们希望传递的变量。
由于在整个应用程序生存周期中,Application 对象都是有效的,所以在不同的页面中都可以对它进行存取,就像使用全局变量一样方便。
(5)简述Session对象。
答:Session对象就是服务器给客户端的一个编号。
当一台WEB服务器运行时,可能有若干个用户浏览正在浏览这台服务器上的网站。
当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。
特别说明的是Session对象的变量只是对一个用户有效,不同的用户的会话信息用不同的Session对象的变量存储。
内置对象Response对象使⽤介绍Response对象是HttpRespone类的⼀个实例。
该类主要是封装来⾃操作的HTTP相应信息。
Response对象将数据作为请求的结果从服务器发送到客户浏览器中,并提供有关响应的消息。
它可⽤来在页⾯中输出数据,在页⾯中跳转,还可以传递各个页⾯的参数。
⼀、向页⾯中输出数据语法格式Response对象通过Write⽅法或WriteFile⽅法在页⾯输出数据,输出的对象可以是字符,字符串,字符数组,对象或⽂件。
⽤Response输出数据时,最重要的语法是:Response.Write(...);实例:(1)建⽴⼀个空⽹站,将⽹页的标题设置为“在页⾯中输出数据”。
(2)右击资源管理器中的项⽬名称,选择“添加新项”命令,在弹出的添加新项的对话框中选择“⽂本⽂件”,名称设置为“WriteFile.txt”。
(3)在WriteFile.txt⽂本⽂件中输⼊如下⽂本:English can be displayed normally.For example,this is a book.<br/>但是中⽂⽂字需要设置⼀下:<br/>即在Response.Write开始写上如下的语句:<br/>Response.ContentEncoding = System.Text.Encoding.UTF8;或Response.ContentEncoding = System.Text.Encoding.Default;<hr/>(4)在Default.aspx.cs⽂件中找到Page_Load函数,在函数中输⼊如下内容://Response.ContentEncoding = System.Text.Encoding.UTF8;//Response.ContentEncoding = System.Text.Encoding.Default;char c='a';string s="⽤Response打印字符串";char[] cArray = { '⽤', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '打', '印','字','符','数','组',};Page p = new Page();Response.Write("输出单个字符:"+c+"<hr/>");Response.Write("输出⼀个字符串:" + s + "<hr/>");Response.Write("输出字符数组:");Response.Write(cArray,0,cArray.Length);Response.Write("<hr/>");Response.Write("输出⼀个对象:" + p + "<hr/>");Response.Write("输出⼀个⽂件:" + "<hr/>");Response.WriteFile(@"~\WriteFile.txt");(5)启动调试运⾏的结果为:⼆、向页⾯输出图像⽂件1)利⽤WriteFIle⽅法语法格式该⽅法将图⽚⽂件以⽂件流的⽅式输出到客户端页⾯。
1。
ASP。
NET的两种编码方式是什么,什么是代码内嵌,什么是代码后置?Web页面的父类是谁?代码内嵌和代码后置。
代码内嵌把业务逻辑编码和显示逻辑编码交叉使用。
代码后置式业务逻辑代码和显示逻辑代码分开使用。
system。
web.ui。
page2.Web控件的AutoPostBack属性的作用是什么?控件的值改变后是否和服务器进行交互(自动回传)3。
验证服务器控件有哪些,他们有哪些常用的属性,ControlToValidate属性的作用是什么?有哪两种服务器控件?RequiredFieldValidator:controltovalidate(验证的控件ID,共有的属性),text,ErrorMessage||||(dropdownlist控件验证时InitialValue属性是如果用户没有改变初始值,会验证失败)CompareValidator:controltocompare(要进行对比的控件),type(比较类型设置),operator(比较运算符,默认为等于),ValueToCompare(进行比较的值)RangeValidator:type(验证类型(5种)),MaximumValue(最大值),MinimumValue(最小值)(包括上下限)RegularExpressionValidator:ValidationExpression(设置要匹配的正则表达式)ValidationSummary:showMessageBox(是否显示弹出的提示消息),ShowSummary(是否显示报告内容)HTML服务器控件和web服务器控件4。
什么是Session,如何进行Session的读写操作,使用什么方法可以及时释放Session?Session 是用于保持状态的对象.Session 允许通过将对象存储在 Web服务器的内存中在整个用户会话过程中保持任何对象.通过键值对的方式进行读写;clear()和abandon()方法5.运行ASP。
ASP六大对象介绍Application对象Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。
Application的属性:方法如下:Application对象没有内置的属性,但是我们可以自行创建其属性。
<% Application("属性名")=值%>其实大部分Application变量都存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Contents集合中添加了一项。
下面两个脚本是等效的:<% Application("greeting")="hello!" %> 或<% Application.contents("greeting")="hello!"由于Application变量存在集合里,所以如果想要全部显示,其方法我们已经多次使用,例如For Each循环。
<%For Each item IN Application.ContentsResponse.write("<br>"&item&Application.Contents(item))next%>Application的方法:Application的方法只有两个方法:一个是Lock,另一个是Unlock。
其中Lock方法用于保证同一时刻只能一个用户对Application操作。
Unlock则用于取消Lock方法的限制。
如:<%Application.LockApplication("visitor_num")=Application("visitor_num")+1Application.Unlock%>Application的事件:1、Application_OnStart()当事件应用程序启动时触发。
《动态网页设计》复习纲要(16春C#版)第1章:动态网页概述1.静态网页与动态网页(常见文件格式及技术)静态网页文件扩展名:.htm或.html动态网页:主要技术有CGI、ASP、JSP、PHP、2.静态网页的访问过程静态网页则将其副本直接发给浏览器。
3.动态网页的访问过程与静态网页相比,动态网页在处理上多了一个处理程序代码的过程。
✧章节习题(填空题,选择题,简答题)1.填空题(1).NET框架由公共语言运行库(CLR) 、类库、应用程序平台和程序设计语言4部分组成。
(2).NET框架中包括一个庞大的类库。
为了便于调用,将其中的“类”按照命名空间进行逻辑分区。
(3) 实现交互式网页需要采用动态网页技术,至今已有多种实现交互式网页的方法,如 、JSP 、PHP 等。
2.选择题(1) 静态网页文件的扩展名是 C 。
A. aspB. aspxC. htmD. jsp(2) 在中源程序代码先被生成中间代码(IL或MSIL),待执行时再转换为CPU所能识别的机器代码,其目的是 C 的需要。
A. 提高效率B. 保证安全C. 程序跨平台D. 易识别3.简答题(1) 静态网页与动态网页在运行时的最大区别在哪里?答:与静态网页相比,动态网页在处理上多了一个处理程序代码的过程。
而静态网页则将其副本直接发给浏览器。
(2) 简述.NET框架中CLR(Common Language Runtime)的作用。
答:公共语言运行库(CLR,也称公共语言运行环境)相当于Java体系中的“虚拟机”,它是.NET 框架的核心,提供了程序运行时的内存管理、垃圾自动回收、线程管理和远程处理以及其他系统服务项目。
同时,它还能监视程序的运行,进行严格的安全检查和维护工作,以确保程序运行的安全、可靠以及其他形式的代码的准确性。
任何一个平台,只要能被CLR支持(目前仅支持Windows平台),则意味着.NET程序就可以在此平台运行,实现跨平台的意义。
使用Application对象的语法如下所示:Application("变量名")="变量值"实例14-7:设置、获取Application对象的内容代码如下:<script language="C#" runat="server">void Page_Load(object sender, System.EventArgs e){Application.Add("App1","Value1");Application.Add("App2","Value2");Application.Add("App3","Value3");int N;for(N=0;N<Application.Count;N++){Response.Write("变量名:"+ Application.GetKey(N));Response.Write("变量值:"+ Application.Get(N) +"<br>");}Application.Clear();}</script>在本例中,首先通过Add方法添加三个Application对象,并赋以初值,接着通过Count 属性得到Application对象的数量,然后通过循环操作GetKey方法和Get方法分别得到新增对象的“索引”和“索引”所对应的“值”。
执行上面代码,得到如下结果:变量名:App1变量值:Value1变量名:App2变量值:Value2变量名:App3变量值:Value3实例14-8:Application对象的加锁与解锁Lock方法可以阻止其他客户修改存储在Application对象中的变量,以确保在同一时刻仅有一个客户可修改和存取Application变量。
如果用户没有明确调用Unlock方法,则服务器将在页面文件结束或超时即可解除对Application对象的锁定。
Unlock方法可以使其他客户端在使用Lock方法锁住Application对象后,修改存储在该对象中的变量。
如果未显式地调用该方法,Web服务器将在页面文件结束或超时后解锁Application对象。
使用方法如下:Application.Lock();Application["变量名"]="变量值";Application.UnLock();四、Session对象Session对象是HttpSessionState的一个实例。
该类为当前用户会话提供信息,还提供对可用于存储信息的会话范围的缓存的访问,以及控制如何管理会话的方法。
Session的发明是填补HTTP协议的局限,HTTP协议工作过程是,用户发出请求,服务器端做出响应,这种用户端和服务器端之间的联系都是离散的,非连续的。
在HTTP协议中没有什么能够允许服务器端来跟踪用户请求的。
在服务器端完成响应用户的请求后,服务器端不能持续与该浏览器保持连接。
从网站的观点上看,每一个新的请求都是单独存在的,因此,当用户在多个主页间转换时,就根本无法知道他的身份。
可以使用Session对象存储特定用户会话所需的信息。
这样,当用户在应用程序的Web 页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。
当会话过期或被放弃后,服务器将中止该会话。
当用户第一次请求给定的应用程序中的aspx文件时,将生成一个SessionID。
SessionID是由一个复杂算法生成的号码,它唯一标识每个用户会话。
在新会话开始时,服务器将Session ID作为一个cookie存储在用户的Web浏览器中。
在将SessionID cookie存储于用户的浏览器之后,即使用户请求了另一个.aspx文件,或请求了运行在另一个应用程序中的.aspx文件,仍会重用该cookie跟踪会话。
与此相似,如果用户故意放弃会话或让会话超时,然后再请求另一个.aspx文件,那么将以同一个cookie开始新的会话。
只有当服务器管理员重新启动服务器,或用户重新启动Web浏览器时,此时存储在内存中的SessionID设置才被清除,用户将会获得新的SessionID cookie。
通过重用SessionID cookie,Web应用程序将发送给用户浏览器的cookie数量降为最低。
另外,如果用户决定该Web应用程序不需要会话管理,就可以不让Web应用程序跟踪会话和向用户发送SessionID。
Session对象最常见的一个用法就是存储用户的首选项。
例如,如果用户指明不喜欢查看图形,另外其还经常被用在鉴别客户身份的程序中。
要注意的是,会话状态仅在支持cookie 的浏览器中保留,如果客户关闭了cookies选项,Session也就不能发挥作用了。
的Sessions非常好用,能够利用Session对象来对Session全面控制,如果需要在一个用户的Session中存储信息,只需要简单地直接调用Session对象就可以了,下面就是个例子:Session("Myname")=Response.form("Username");Session("Mycompany")=Response.form("Usercompany");应注意的是,Session对象是与特定用户相联系的。
针对某一个用户赋值的Session对象是和其他用户的Session对象完全独立的,不会相互影响。
换句话说,这里面针对每一个用户保存的信息是每一个用户自己独享的,不会产生共享情况。
strHtmlContent=Server.HtmlDecode(strHtmlContent);Response.Write(strHtmlContent);}</Script></html>运行上述示例输出结果可以发现,编码后的HTML标注变成了“<B>HTML内容</B>”,这是因为“<B>”变成了“<B>”,“</B>”变成了“</B>”,所以才能在页面中显示HTML标注。
实例14-15:使用URLEncode方法对URL进行编码就像HTMLEncode方法使客户可以将字符串翻译成可接受的HTML格式一样,Server对象的URLEncode方法可以根据URL规则对字符串进行正确编码。
当字符串数据以URL 的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。
为此,如果希望在发送字符串之前进行URL编码,则可以使用Server. URLEncode方法。
该函数已被重载,语法如下:对字符串进行URL编码,并返回已编码的字符串。
public string UrlEncode(string);URL对字符串进行编码,并将结果输出发送到TextWriter输出流。
public void UrlEncode(string, TextWriter);例如下面例子:<%Response.Write(Server.URLEncode("错误!超链接引用无效。
))%>产生如下输出:http %3A%2F%2Fwww%2Emicrosoft%2Ecom利用QueryString在不同主页间传递信息时,如果信息带有空格或特殊字符,那么必须进行Encode操作,因为如果不这样做,很可能使得接受信息的那边接受到一些所不期望的奇怪字符串。
注意,不要对QueryString的名称及等号进行Encode操作,只需要将其值进行Encode操作就可以了。
进行了Encode操作后,效果如下:Message=This+Query+String+has+been+URL+ENCODED%2E用户并不需要考虑对上面的字符串再进行解码,会自动进行这样的处理。
例如,假设有这样的脚本:Request.QueryString("message");这时,显示结果为:This Query String has been URL encoded实例14-16:建立虚拟路径与服务器物理目录间映射使用MapPath方法可以将指定的相对或虚拟路径映射到服务器上相应的物理目录上。
语法:public string MapPath(string path);参数Path表示指定要映射物理目录的相对或虚拟路径。
若Path以一个正斜杠(/)或反斜杠(\)开始,则MapPath方法返回路径时将Path视为完整的虚拟路径。
若Path不是以斜杠开始,则MapPath方法返回同页面文件中已有的路径相对的路径。
这里需要注意的是,MapPath方法不检查返回的路径是否正确或在服务器上是否存在。
对于下列示例,文件data.txt和包含下列脚本的test.aspx文件都位于目录C:\Inetpub\ wwwroot\aspx下。
C:\Inetpub\wwwroot目录被设置为服务器的宿主目录。
下列示例使用服务器变量PATH_INFO映射当前文件的物理路径。
以下脚本:Server.mappth(Request. ServerVariables("PATH_INFO"));输出:c:\inetpub\wwwroot\asp\test.aspx由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是目录C:\Inetpub\wwwroot\aspx。
以下脚本:Server.mappath("data.txt");Server.mappath("aspx/data.txt");输出:c:\inetpub\wwwroot\aspx\data.txtc:\inetpub\wwwroot\aspx\aspx\data.txt六、Cookie对象什么是Cookie呢?Cookie 是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。
用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。
Cookie跟Session、Application类似,也是用来保存相关信息,但Cookie和其他对象的最大不同是,Cookie将信息保存在客户端,而Session和Application是保存在服务器端。