Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published 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" %>







无标题页









height: 414px">



color: #ffffff; width: 525px;height: 65px; background-color: #5d7b9d; text-align: center">

明日聊天室







当前用户:


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759