10-15Asp Application对象

•Application对象是HttpApplicationState类的一个实例。
•客户端第一次访问ASP.NET应用程序的虚拟目录并请求URL资源时创建Application对象。
•数据可以在Application对象内部共享,用于多用户共享访问,一个网站可以有多个Application对象,而一个对象破坏后,不会影响到其他的对象。
 
 
 
 
Application 对象的使用
•如果要使用Application对象,首先需要在网站根目录添加一个文件:Global.asax(全局应用程序类)。它是应用程序全局启动文件,文件内容如下所示:
其中:
–Application_Start:代表应用程序启动时触发的事件。
–Application_End:代表应用程序结 束时触发的事件。
–Application_BeginRequest:代表请求开始时触发的事件。
–Application_EndRequest:代表请求结束时触发的事件。
–Application_Error:应用程序出错时触发的事件,如果有信息,必须在页面的Page指令中添加Debug=“true”。
–Session_Start:启动一个Session时触发。
–Session_End:结束一个Session时触发。
 
Application 与Session类似,不同的是Application用于ASP.NET应用程序中多个会话和请求之间的全局信息共享,而Session是用于ASP.NET应用程序中一个会话内部的局部信息共享。
    Application的典型应用:
–在线人数统计、
–聊天室
 
Application语法:
• Application["one"] = "直接设置的Application值";
• Application.Add("two","Application.add()方法添加的值");
• this.Response.Write(Application["one"]+"<br/>“
•+Application["two"]);
 
还是来个例子吧
 
 
 
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace _10月10日request和response.Application
{
    public partial class chat1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.TxtChatBox.Text = Application["ChatLog"].ToString();
            }

        }

        protected void BtnSend_Click(object sender, EventArgs e)
        {
            string newMessage = this.TxtUserName.Text + ":" + this.TxtMessage.Text + "\n" + Application["ChatLog"].ToString();
            if (newMessage.Length > 500)
            {
                newMessage = newMessage.Substring(0, 499);
            }
            Application["ChatLog"] = newMessage;
            TxtChatBox.Text = Application["ChatLog"].ToString();
            this.TxtMessage.Text = "";
        }

        protected void BtnClear_Click(object sender, EventArgs e)
        {
            Application["ChatLog"] = "";
            TxtChatBox.Text = Application["ChatLog"].ToString();
        }
    }
}

-------Globl文件---------
<%@ Application Language="C#" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e)
    {
        //在应用程序启动时运行的代码
        Application["count"] = 0;
        Application["ChatLog"] = "大家好,欢迎来到聊天室!";

    }
   
    void Application_End(object sender, EventArgs e)
    {
        //在应用程序关闭时运行的代码

    }
       
    void Application_Error(object sender, EventArgs e)
    {
        //在出现未处理的错误时运行的代码

    }

    void Session_Start(object sender, EventArgs e)
    {
        //在新会话启动时运行的代码
        //Session["login"] = false;
        //Session.Timeout = 1;


        Application.Lock();
        Application["count"] =(int) Application["count"] + 1;
        Application.UnLock();
    }

    void Session_End(object sender, EventArgs e)
    {
        //在会话结束时运行的代码。
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时,才会引发 Session_End 事件。如果会话模式
        //设置为 StateServer 或 SQLServer,则不会引发该事件。
        //Session.Clear();

        Application.Lock();
        Application["count"] = (int)Application["count"] - 1;
        Application.UnLock();
    }
      
</script>

 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值