javascript asp教程第十一课--Application 对象

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 Application.Contents("VariableName")="VariableValue". However, since Contents is the default Collection, we have a little shortcut for setting Application variables. The shortcut goes like this: Application("VariableName")="VariableValue".

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. Application.Contents.Remove("VariableName") and Application.Contents.RemoveAll().

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.

(0)

相关推荐

  • ASP.NET中Application和Cache的区别分析

    相同点:1. 二者存储的变量的有效范围都是整个应用程序的生命周期.2. 二者都可以存贮对象. 不同点:1. application是在asp阶段使用的,后来升级到.net后,使用的是cache,但为了向前兼容,依然保留了application. 2. cache比application使用更加灵活,功能更强大.cache可以设置每一个item的优先级,当服务器内存不够时,将对cache进行压缩,将一些很长时间没使用的或者优先级低的item从cache中移去.3.cache中可设置某个item的依

  • asp自带的内存缓存 application

    函数getcache,会自动建立需要的缓存. 复制代码 代码如下: Function getcache(funsname,isreset,isarr,timeinfo) 'funsname - 需要缓存的内容,这里要输入一个function名 'isreset –是否更新[值:0(根据时间或判断缓存为空时自动更新).1(主动更新)] ' isarr -- 所缓存的内容是否为一个数据[0为字符串,1为数组] ' timeinfo -- 缓存更新时间,单位为秒,当值为0时,则只在缓存为空时,才更新

  • ASP基础入门第八篇(ASP内建对象Application和Session)

    在上一篇中作者给大家详细介绍了 ASP 内建对象 Response 的使用方法,在这一篇中作者将继续给大家介绍另两个非常实用且重要的 ASP 的内建对象 Application 和 Session. 在 ASP 的内建对象中除了用于发送.接收和处理数据的对象外,还有一些非常实用的代表 Active Server 应用程序和单个用户信息的对象. 让我们先来看看 Application 对象.在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序.我们非但可以使用 Applicat

  • asp.net Reporting Service在Web Application中的应用

    原先刚装上Reporting Service时还觉得有点神秘,毕竟在做这个项目前还没有真正接触这个微软用于代替水晶报表的报表工具,而且微软似乎还不满足于一个报表工具那么简单. Reporting Services 是一种基于服务器的新型报表平台,部署在Microsoft® SQL Server™ 2000基础上,可用于创建和管理包含来自关系数据源和多维数据源的数据的表格报表.矩阵报表.图形报表和自由格式报表.可以通过基于 Web 的连接来查看和管理您创建的报表. Reporting Servic

  • asp.net错误处理Application_Error事件示例

    ASP.NET错误处理方法Application_Error事件举例如下: 新建web程序--新建AppEvent.aspx页面--在该页面中添加如下代码: 复制代码 代码如下: <SCRIPT language=C# runat="server">void Page_Load(object sender, System.EventArgs e){throw(new ArgumentNullException());}</SCRIPT> 然后呢,将Applica

  • ASP.NET 使用application与session对象写的简单聊天室程序

    ASP.Net中有两个重要的对象,一个是application对象,一个是session对象. Application:记录应用程序参数的对象,该对象用于共享应用程序级信息. Session:记录浏览器端的变量对象,用来存储跨网页程序程序的变量或者对象. 说实话,写了快一年的asp.net,application对象还真没怎么用过.看了看书,根据这两个对象的特性写了一个简单的聊天室程序.真的是非常的简陋. 我的思路是,有两个页面Default页和ChatRoom页,页面布局如图: Default

  • ASP.NET内置对象之Application对象

    新建一个网站,包括两个网页,代码如下: 1.Index.aspx代码:  复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&

  • ASP编程入门进阶(九):内置对象Application

    在Web应用程序中,当一个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据:如果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户之间无法通过Session变量共享信息,而Application类型的变量则可以实现站点多个用户之间在所有页面中共享信息.可以理解Session是局部变量,而Application则为全局变量. 在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序.我们非但可以使用 Applic

  • asp清空application的方法

    做网站中,如果用到了大量的application会占用大量的服务器资源,所以我们在退出后台的时候可以,清空下数据,网站的运行速度也会快Application 对象实现在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保存数据.而且,Application 对象还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件. 虽然 Application 对象没有内置的属性,但我们可以使用以下句法设置用户定义的属性也可称为集合. Application("属性/集合名称&q

  • php和asp利用Shell.Application来执行程序的代码

    今天试了一下,用open也可以.php代码如下,我好像还没有在php的webshell中看到相关方法 复制代码 代码如下: <?php $wsh = new COM('Shell.Application') or die("Shell.Application"); $exec = $wsh->open("c:\\windows\\system32\\notepad.exe"); //没有回显,多了个notepad进程,可以写一个批处理来运行dos命令.o

  • ASP javascript Application对象的Contents和StaticObjects做Cache的一些经验

    Application对象内置集合有为存放简单类型设计的Contents,默认Application("key")就可以使用. 不过Application.Contents不能存放对象,可以存vbs数组,但是在javascript下甚至数组都不能放. 使用Application.Contents时,只能用丑陋的如: for(var i=0;i<15000;i++){     Application.Lock();        // Application.Contents(i)

随机推荐