• ASP入门(十二)-Application对象


    在一起协同工作以完成某项任务的一组ASP文件称为一个应用程序。Application 对象用于把这些文件捆绑在一起。

    Application 对象用于在整个应用程序生存期间保存信息。

    Application 对象用于存储和访问来自任何页面的变量,类似于 Session 对象。不同之处在于,所有用户分享一个 Application 对象,而 Session 对象和用户的关系是一一对应的。

    Application 对象没有属性。

    Application 对象的原理是这样的,在每次应用程序启动(即 IIS 的启动)时,会在内存中请求一部分空间来保存数据,这个数据对于访问网站的所有用户来说是共享的,当在 IIS 中停止站点或者服务器重启时,Application 对象所存储的信息将丢失。

    Application 对象的方法和集合

    与 Session 对象类似,Application 对象也有 Contents 集合,下面的例子演示了如何设定和读取数据:

    <%
    Application.Contents("WebSite") = "http://pchmonster.cnblogs.com"
    Dim WebSite
    WebSite = Application("WebSite")
    Response.Write(WebSite)
    %>

    Application 对象也有 RemoveRemoveAll 两个方法,其使用方法和 Session 对象相应方法类似,这里不再详细描述了。

    Applicaton 对象另外一对方法是 LockUnLock 方法。

    Lock 方法阻止其他用户修改 Application 对象中的变量(用来确保同一时间只有一位用户可以修改 Application 对象变量)。

    Unlock 方法使其他用户能够修改存储在 Application 对象中的变量(在它被使用 Lock 方法锁定之后)

    下面的例子,Lock 方法可以防止一个以上用户访问变量 Visits,用 Unlock 方法来对已锁定的对象进行解锁,这样下一个用户就可以增加变量 Visits 的值。

    <%
    Application.Lock()
    Application("Visits") = Application("Visits") + 1
    Application.UnLock()
    %>
    <h3>This page has been visited
    <%=Application("Visits")%> times.</h3>

    Application 小案例

    在 ASP 刚问世时候,有很多使用 ASP 制作的聊天室,它的原理就是利用 Application 集合是访问站点所有用户共享的特点,将所有用户所发表的聊天句都存储在 Application 中。

    当然这样的方法需要占用比较大的服务器内存资源,因此已经很少在使用了。

    本例代码如下(ChatRoom.asp):

    <%
    If UCase(Trim(Request.ServerVariables("REQUEST_METHOD"))) = "POST" Then
      Dim sCurrentWord
      sCurrentWord = Trim(Request.Form("word"))
      Application.Lock()
      Application("chatroom") = Application("chatroom") & "<br>" & Session.SessionID & "-&gt;" & sCurrentWord
      Application.UnLock()
    End If
    %>
    <h3>以下是聊天室的内容:</h3>
    <p><%=Application("chatroom")%></p>
    <hr>
    <form method="post" action="">
    请输入要说的话:<input name="Word" type="text"/>
    <input type="submit" value="发送"/>
    </form>

    运行后,输入密码登录,如下图:

    20150814010

    输入你要说的话,并按“发送”按钮发送出去。利用多个终端登录该页面,进行聊天。

    20150814011


    示例代码下载

    Application.rar

  • 相关阅读:
    HDU 4913 Least common multiple
    HDU 4915 Parenthese sequence
    HDU 2459 Maximum repetition substring
    HDU 5727 Necklace
    HDU 5724 Chess
    HDU 5726 GCD
    hihoCoder1033 交错和 数位DP
    2016百度之星资格赛题解
    10LaTeX学习系列之---Latex的文档结构
    09LaTeX学习系列之---Latex 字体的设置
  • 原文地址:https://www.cnblogs.com/pchmonster/p/4731541.html
Copyright © 2020-2023  润新知