Overview:
The Application Object represents a collection of ASP pages. The Application object has zero (0) properties, two (2) collections, two (2) methods, and two (2) events.
Get Started:
Below are a couple scripts for lesson11.
<%@LANGUAGE="JavaScript"%> <% //No ASP Here, just a regular HTML Page %> <HTML> <FORM ACTION="script11a.asp" METHOD="Post"> <STRONG>Would you like to chose the official Application color?</STRONG><BR> <SELECT NAME="OfficialColor"> <OPTION>red</OPTION> <OPTION>white</OPTION> <OPTION>blue</OPTION> </SELECT><BR> <INPUT TYPE="Submit" VALUE="Yes, click here"> </FORM> No, <A HREF="script11a.asp">click here</A>. </HTML>
Click Here to run script11.asp in a new window. Below is script11a.asp.
<%@LANGUAGE="JavaScript"%> <HTML> <% Application.Lock() var OfficialColor = new String( Request.Form("OfficialColor") ) if (OfficialColor=="red") { Application("OfficialColor") = "red" } if (OfficialColor=="white") { Application("OfficialColor") = "white" } if (OfficialColor=="blue") { Application("OfficialColor") = "blue" } if (OfficialColor=="undefined") { //Do nothing. Just leave the color alone. } Application.Unlock() %> <BODY BGCOLOR="<%=Application("OfficialColor")%>"> <STRONG> The official application color is <%=Application("OfficialColor")%>.<BR> </STRONG> </BODY> </HTML>
Application Collections:
The two collections are Contents and StaticObjects. StaticObjects come in the form of the <OBJECT> flag. That's done in the global.asa that we saw in Lesson 09. I'll demonstrate it again down below.
By contrast, the Contents collection is demonstrated above. It allows you to set and retrieve variables with Application scope. The format for setting an Application variable is
Share the Variable:
One last thought on Application Variables. The application variable is shared by all visitors. Let's say that you and I are on the same ASP web site at the same time. If you set the background color to white in script11.asp, then I will see "white" as the official color if I go directly to script11a.asp. Application Variables are by no means the most efficient means of passing information from one user to another.
No Apartment Model:
You may notice that the example above seems to be inefficient. Why not just directly assign Application("OfficialColor") = Request.Form("OfficialColor")? Because we can't. By design, the newer (and updated) versions of Microsoft server software intentionally do not support Apartment Model Behavior.
Application Methods:
The two Application Methods are Lock() and Unlock(). Lock() blocks all other users from changing the Application variables. Unlock() releases control so that other users can change it. That's important on a larger site where multiple users may be trying to access the same page at the same time.
Application Events:
The two Application events are Application_OnStart() and Application_OnEnd(). These events are accessed in the global.asa. Let's repeat that script from lesson 09.
<OBJECT RUNAT=Server SCOPE=Session ID=MyInfo PROGID="MSWC.MyInfo"> </OBJECT> <SCRIPT RUNAT="Server" LANGUAGE="JavaScript"> function Application_OnStart() { Application("someVariableName")="some value" } function Application_OnEnd() { Application.Contents.RemoveAll() } function Session_OnStart() { Session.Timeout=15 } function Session_OnEnd() { //Do Nothing } </SCRIPT> <!-- METADATA TYPE="typelib" FILE="C:\Program Files\Common Files\System\ado\msado15.dll" -->
Misc. Items:
Application.Contents has two methods of its own.
You'll notice there are also Session Events in the global.asa. We'll deal with those in Lesson 12. You'll also notice a call to the ADO Library. We'll talk about that when we get to databases.
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 黑神话悟空上品鼠弩手精魄获取方法一览|上品鼠弩手精魄收集攻略
- 中国音乐地图听见世界非物质文化遗产《非遗HQCD》wav
- 中国民乐合奏作品集《华夏之音HQ》头版限量编号[WAV+CUE]
- [电影原声带]黎允文《天将雄师》[FLAC+CUE]
- 曝NS继任机型已进入量产阶段:已花了30亿日元
- 不是Switch2?曝《马里奥惊奇》NS捆绑包即将公开
- 暖心任天堂!网友Switch维修返还时贴纸被完好保留
- 《国语老歌 经典对唱情歌 2CD》[WAV/分轨][1.1GB]
- 《刀郎 翻唱精选华语专辑 披着羊皮的狼 》[WAV+CUE][430MB]
- 《真的田震 中国乐坛红极一时的歌者 精品集》[WAV+CUE][300MB]
- 群星.1995-新滚石九大天王之情歌大全【滚石】【WAV+CUE】
- 群星.1993-滚石九大天王十二出好戏·纵夏欢唱【滚石】【WAV+CUE】
- 群星.1993-滚石九大天王十二出好戏·贺岁齐唱【滚石】【WAV+CUE】
- 黑神话悟空上品虫校尉精魄获取方法一览|上品虫校尉精魄收集攻略
- 《指环王:夏尔的传说》推迟至2025年初发行