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.
看到这个题目,或许有人会提出疑问,JavaScript代表客户端,而Session代表的是服...
极验验证 极验验证是一种在计算机领域用于区分自然人和机器人的,通过简单集成的...
代码都是由 CPU 跑起来的,我们代码写的好与坏就决定了 CPU 的执行效率,特别是...
本文实例讲述了ajax发送GET请求,然后通过jsp页面来接收处理的实现方法。分享给...
目录 ? 前言 正文 常见问题梳理 问题一、*.node is not a valid Win32 applicati...
目录 一、字典与集合课后题 练习前置知识 Chapter One : 开启 Python 之旅 Chapt...
软件一般采用三种方式来决定文本的字符集和编码: 检测文件头标识,提示用户选择,...
吐槽一下,博客园久了没有上,账号没了,重新申请一个. cesharp v62版本,内核采...
Windows10的现代磁盘管理工具是微软最新的一次尝试,它将传统工具移植到设置应用...
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区 https://...