📄 asp05.htm
字号:
5.6 Application对象<br>
Application对象的用途是记录整个网站的信息,语法:<br>
Application("变量") = "变量内容"<br>
Application("对象名") = Server.CreateObject(ProgId) <br>
表分别列出了Application对象的常用属性和方法。</p>
<p align="center"> <img src="image/slide5image014.PNG" width="625" height="74"><br>
<img src="image/slide5image015.PNG" width="623" height="101"><br>
<img src="image/slide5image016.PNG" width="623" height="288"></p>
<p>5.6.1 存取Application对象变量值<br>
语法:<br>
变量 = Application("变量名称")<br>
Application(“变量名称”) = 表达式 <br>
【例】向Application对象中添加三个变量并赋值,三个变量的值分别为“Value1”、“Value2” 和“Value3”。通过循环显示这三个Application变量的名字和值,显示完以后清除。
<br>
<SCRIPT Language="VB" Runat="Server"> <br>
Sub Page_Load(Sender As Object,e As Eventargs) <br>
Dim shtI As Short<br>
Application.Add("App1","Value1")'向Application对象中添加三个变量并赋值<br>
Application.Add("App2","Value2") <br>
Application.Add("App3","Value3") <br>
For shtI=0 To Application.Count-1 '显示三个Application变量名和值 <br>
Response.Write("变量名:" & Application.GetKey(shtI)
) <br>
Response.Write(" ,变量值:" & Application.Item(shtI)
& "<P>") <br>
Next<br>
Application.Clear() '清除Application对象变量<br>
End Sub <br>
</SCRIPT><br>
上述程序利用Application的Add()方法,向Application对象中添加三个值分别为"Value1"、
“Value2“和”Value3”的变量。程序运行结果如图所示。 Application变量的存取 5.6.2 锁定Application对象 语法:<br>
Application.Lock <br>
Application("变量") = 表达式 <br>
Application.UnLock <br>
【例】一个简单计数器程序,在 ASP.NET网页每执行一次,Counter变量 值就加1,在累计之前,先锁定Application 对象,让其他人无法使用此对象,待累计完成后再解除所定。<br>
<SCRIPT Language="VB" Runat="Server"> <br>
Sub Page_Load(sender as Object, e as Eventargs) <br>
Application.Lock()'锁定,不允许其他用户修改变量 <br>
Application.Set("Counter", Application("Counter")
+ 1)'访问计数增加1 <br>
Application.UnLock()'开锁,允许其他用户修改变量 <br>
myCounter.Text = "您是第 " & Application("Counter")
& " 位访客" <br>
End Sub <br>
</SCRIPT> <br>
<HTML><br>
<BODY><br>
<Asp:Label Runat="Server" Id="myCounter" /> <br>
</BODY><br>
</HTML> <br>
5.6.3 Application对象的事件 Application对象有以下四个事件:<br>
(1) OnStart事件:在整个ASP.Net应用首先被触发的事件,也就是在一个虚拟目录中第一个ASP.Net程序执行时触发。 <br>
(2) OnEnd事件:在整个应用停止时被触发(通常发生在服务器被重启/关机时)。<br>
(3) OnBeginRequest事件:在每一个ASP.Net程序被请求时就发生,即客户每访问一个ASP.Net程序时,就触发一次该事件。<br>
(4) OnEndRequest事件:ASP.NET程序结束时,触发该事件。以下是一个Global.asax文件的示例。<br>
<SCRIPT Language="VB" Runat="Server"> <br>
Sub Application_OnStart(sender As Object, e As Eventargs) <br>
Application.Add("count",0) <br>
End Sub <br>
Sub Application_OnEnd(sender As Object, e As Eventargs)<br>
Application.RemoveAll()<br>
End Sub<br>
</SCRIPT><br>
5.7 Session对象<br>
Session对象的功能和Application对象一样,都是用来记录浏览器端的变量 。Session对象类名称是HttpSessionState,它和Application对象一样是属于Page对象的成员,所以可以直接使用。
语法: <br>
Session("变量名") = 表达式 <br>
Session("对象名称") = Server.CreateObject(ProgId) <br>
例如Session(“name”)=“李明”。</p>
<p align="center"><img src="image/slide5image017.PNG" width="611" height="239"><br>
<img src="image/slide5image018.PNG" width="614" height="272"></p>
<p>5.7.1设定Session对象变量的有效期限<br>
要更改Session对象的有效期限,只要设定TimeOut属性即可;TimeOut属性的默认值是20分钟。<br>
5.7.2 Session对象的事件与Application对象一样,Session对象也有OnStart和OnEnd事件。<br>
OnStart事件在客户第一 次从应用程序中请求ASP.NET网页时由ASP.NET调用,OnEnd事件在会话关闭时调用。
<br>
5.8 Cookies对象<br>
Cookies、Session和Application对象很类似,也是一种集合对象,都是用来在保存数据 。表列出对Application、Section及Cookies对象的比较。
</p>
<p align="center"><img src="image/slide5image019.PNG" width="601" height="172"></p>
<p>5.8.1 Cookies对象的基本使用<br>
Cookies对象不属于Page对象,所以用法和Application及Session对象不同。 语法:<br>
Response.Cookies(Name As String).Value = 表达式 '创建Cookie变量 <br>
Response.Cookies.Add(Cookie对象名)'写入Cookie对象 <br>
变量 = Request.Cookies(Name As String).Value '读取Cookie变量 例如:<br>
Response.Cookies("userName").Value = "mike" <br>
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)
<br>
以上语句创建名为userName的Cookie变量,并将该变量的有效期设置为1天。<br>
再如:'创建名为CookieExmple的Cookie对象<br>
Dim newCookie As HttpCookie = New HttpCookie("CookieExmple")
<br>
newCookie.Values("Name") = "Zhang Hua" '添加名为Name、值为Zhang
Hua的子键 <br>
newCookie.Values("Age") = "21" '添加名为Age、值为21的子键 <br>
newCookie.Values("Visited") = DateTime.Now.Date()'添加名为Visited、值为当前日期的子键
<br>
newCookie.Expires = DateTime.Now.AddDays(10) '设置Cookie的有效期 <br>
Response.Cookies.Add(newCookie)'写入Cookie对象<br>
以上语句首先定义一个HttpCookie类对象newCookie,然后设置其各子键的名称和值,最后将通过Response对象将数据写入客户端。
<br>
表分别列出了Cookies对象的常用属性和方法。</p>
<p align="center"><img src="image/slide5image020.PNG" width="601" height="172"><br>
<img src="image/slide5image021.PNG" width="601" height="327"> </p>
<p>表列出了Cookie变量的常用属性。</p>
<p align="center"><img src="image/slide5image022.PNG" width="617" height="87"><br>
<img src="image/slide5image023.PNG" width="618" height="101"></p>
<p>【例】下列程序新增两个Cookie变量,利用Cookies集合的Item属性和Get方法传回Cookie变量。<br>
<SCRIPT Language="VB" Runat="Server"> <br>
Sub Page_Load(Sender As Object,e As Eventargs) <br>
Dim i As Short <br>
Response.Cookies("Cookie1").Value="Microsoft Visual Studio.Net"
<br>
Response.Cookies("Cookie2").Value="ASP.Net" <br>
For i=0 To Request.Cookies.Count-1 <br>
Response.Write("变量名称:" & Request.Cookies.Item(i).Name
& _ "<BR>变量内容:" & Request.Cookies.Get(i).Value &
"<BR>") <br>
Next<br>
Response.Cookies.Clear() <br>
End Sub<br>
</SCRIPT><br>
5.8.2 自定义Cookies对象<br>
除了使用系统预设的Cookies对象外,还可以自行定义属于自己的Cookies对象。<br>
【例】将上例程序中的Cookies改为自定义的Cookies对象来操作Cookie变量。<br>
<SCRIPT Language="VB" Runat="Server"> <br>
Sub Page_Load(Sender As Object,e As Eventargs) <br>
Dim CookieCollection As HttpCookieCollection=New HttpCookieCollection
<br>
Dim Cookie1 As HttpCookie=New HttpCookie("Cookie1") <br>
Dim Cookie2 As HttpCookie=New HttpCookie("Cookie2") <br>
Cookie1.Value="Microsoft VisualStudio .NET" <br>
Cookie2.Value="ASP.NET" <br>
CookieCollection.Add(Cookie1) '将Cookie 对象加入Cookies 集合中 <br>
CookieCollection.Add(Cookie2) <br>
Dim i As Short <br>
For i=0 To CookieCollection.Count-1 <br>
Response.Write("变量名称=" & CookieCollection.Item(I).Name
& "<BR>") <br>
Response.Write("变量内容=" & CookieCollection.Get(I).Value
& "<P>") <br>
Next <br>
CookieCollection.Clear() <br>
End Sub <br>
</SCRIPT><br>
5.8.3 设定Cookie变量的生命周期Cookie变量的生命周期起始于浏览器被执行时,终止于浏览器结束执行时。 语法: <br>
Response.Cookies(CookieName).Expires=#日期# 例如:<br>
Response.Cookies(myCookie).Expires=“#2004/12/31#”,设置Cookie变量在2004年12月31日失效。<br>
若没有指定Expires属性,则Cookie变量将不会被存储。</p>
<p align="center"><a href="index.htm">回首页</a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -