Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/9 1:36:49 asp.net2.0内置Application对象的应用
asp.net2.0内置Application对象的应用
Application对象的应用本节通过一个简单的实例来介绍如何使用Application对象制作一个简单的聊天室。聊天室主页运行结果如图1所示。图1 聊天室主页面程序开发步骤如下。(1)新建一个网站,命名为15_03,其主页默认为Default.aspx。(2)在该网站中添加3个Web页面:Default2.aspx、Default3.aspx和Default4.aspx,其中Default2.aspx页面为聊天室的主页面,Default3.aspx页面用来显示聊天信息,Default4.aspx页面用来显示用户列表。(3)在该网站中添加一个Global.asax全局程序集文件,用来初始化Application对象值。(4)程序主要代码如下。由于该聊天室是使用Application对象实现的,因此在应用程序启动时,应该将所有Application对象中的值设置为0,其实现代码如下:void Application_Start(object sender, EventArgs e){// 在应用程序启动时运行的代码//建立用户列表string user = "";//用户列表Application["user"] = user;Application["userNum"] = 0;string chats = "";//聊天记录Application["chats"] = chats;//当前的聊天记录数Application["current"] = 0;}聊天室主页面中,单击【发送】按钮,程序调用Application对象的Lock方法对所有Application 对象进行锁定,然后判断当前显示的信息记录数是否大于20,如果大于,则将所有记录清空,同时重新记录用户发送的信息;否则,在原有记录的基础上,增加一条新信息。【发送】按钮的Click事件代码如下:protected void Button1_Click(object sender, EventArgs e){int P_int_current = int.Parse(Application["current"].ToString());Application.Lock();if (P_int_current == 0 || P_int_current > 20){P_int_current = 0;Application["chats"] = Session["userName"].ToString() + "说:" + TextBox1.Text.Trim() + "(" + DateTime.Now. ToString() + ")";}else{Application["chats"] = Application["chats"].ToString() + "," + Session["userName"].ToString() + "说:" + TextBox1. Text.Trim() + "(" + DateTime.Now.ToString() + ")";}P_int_current += 1;Application["current"] = P_int_current;Application.UnLock();}显示聊天信息页面Default3.aspx加载时,从Application对象中读取保存的聊天信息,并将其显示在TextBox文本框中。Default3.aspx页面的Page_Load事件代码如下:protected void Page_Load(object sender, EventArgs e){int P_int_current = int.Parse(Application["current"].ToString());Application.Lock();P_int_current = int.Parse(Application["current"].ToString());string P_str_chats = Application["chats"].ToString();string[] P_str_chat = P_str_chats.Split(',');for (int i = P_str_chat.Length - 1; i >= 0; i--){if (P_int_current == 0){TextBox2.Text = P_str_chat[i].ToString();}else{TextBox2.Text = TextBox2.Text + "n" + P_str_chat[i].ToString();}}Application.UnLock();}完整程序代码如下:★ ★★★★Default2.aspx页面设计文件完整程序代码★★★★★<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
赞