• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET 使用application与session对象写的简单聊天室程序

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了application asp.net,session asp.net,asp.net,asp net培训,asp和asp.net的区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

ASP.Net中有两个重要的对象,一个是application对象,一个是session对象。

Application:记录应用程序参数的对象,该对象用于共享应用程序级信息。

Session:记录浏览器端的变量对象,用来存储跨网页程序程序的变量或者对象。 

说实话,写了快一年的asp.net,application对象还真没怎么用过。看了看书,根据这两个对象的特性写了一个简单的聊天室程序。真的是非常的简陋。

我的思路是,有两个页面Default页和ChatRoom页,页面布局如图:

Default页:

ChatRoom页:

 

思路大概就是,在Default页登录时,输入的昵称存入session对象当中,并跳转到ChatRoom页,并把session中存的键为”nickname”存入application对象中去。遍历application对象,给左侧的listbox添加在线人的昵称。利用appliaction对象在Session_Start和Session_End方法中对键为”count”进行+1,-1用于记录当前在线人数。在利用application对象键为”content”存储聊天记录。

下面上代码

Global.asax:

        protected void Application_Start(object sender, EventArgs e)
        {
            Application["count"] = 0;
            Application["content"] = "聊天记录\n";
        }

        protected void Session_Start(object sender, EventArgs e)
        {
            Application.Lock();
            Application["count"] = (int)Application["count"] + 1;
            Application.UnLock();
        }
        protected void Session_End(object sender, EventArgs e)
        {
            Application.Lock();
            Application["count"] = (int)Application["count"] - 1;
            Application.UnLock();
        }
</div>

Default.aspx:

        protected void button_login_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(textbox_nickname.Text))
            {
                Session["nickname"] = textbox_nickname.Text;
            }
            Response.Redirect("ChatRoom.aspx");
        }
</div>

ChatRoom.aspx:

        protected void Page_Load(object sender, EventArgs e)
        {
            label_count.Text = "当前在线人数为" + Application["count"].ToString() + "人";
            if (!IsPostBack)
            {
                if (Session["nickname"] != null)
                {
                    Application.Add(Session["nickname"].ToString(), Session["nickname"]);
                }
                textbox_records.Text = Application["content"].ToString();
            }
            listbox_usernames.Items.Clear();
            foreach (string str in Application.Contents)
            {
                if (!str.Equals("content") && !str.Equals("count") && !str.Equals("name"))
                {
                    listbox_usernames.Items.Add(new ListItem(Application[str].ToString(), Application[str].ToString()));
                }
            }
        }

        protected void button_send_Click(object sender, EventArgs e)
        {
            if (Session["nickname"] != null)
            {
                Application["content"] += (Session["nickname"].ToString() + "说:" + textbox_sendmsg.Text + "\n");
                textbox_records.Text = Application["content"].ToString();
            }
        }

        protected void button_exit_Click(object sender, EventArgs e)
        {
            Application.Remove(Session["nickname"].ToString());
            Application["count"] = (int)Application["count"] - 1;
            Response.Redirect("WebCounter.aspx");
        }
</div>

这样简单的聊天室就完成了,在本地使用的时候,在一个浏览器下好像不会创建新的session,需要在不同浏览器下登录才能看到效果。

这里也要注意一点就是,在退出聊天室的时候,要把application键为”nickname”,

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET 中的Application详解
  • ASP.NET中Application、Cookie、Session、Cache和ViewState
  • ASP.NET中使用Application对象实现简单在线人数统计功能
  • ASP.NET中Application全局对象用法实例浅析
  • ASP.NET 使用application与session对象写的简单聊天室程序
  • ASP.NET中application对象的使用介绍
  • ASP.NET中application对象的使用介绍
  • asp.net错误处理Application_Error事件示例
  • ASP.Net的Application介绍
  • ASP.NET中Application和Cache的区别分析

相关文章

  • 2017-05-11如何在.Net版本UEditor中添加一个普通按钮
  • 2017-05-11asp.net中调用Office来制作3D统计图的实例代码
  • 2017-05-11asp.net 客户端浏览器缓存的Http头介绍
  • 2017-05-11Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
  • 2018-08-20浅谈ASP.NET MVC 防止跨站请求伪造(CSRF)攻击的实现方法
  • 2017-05-11ASP.NET MVC5网站开发用户注册(四)
  • 2017-05-11asp.net 数据库连接池浅析
  • 2017-05-11php 三级联动菜单
  • 2017-05-11asp.net Page.EnableEventValidation 属性验证服务器控件的回发和回调事件出现的错误
  • 2017-05-11排除JQuery通过HttpGet调用WebService返回Json时“parserror”错误

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 解析利用wsdl.exe生成webservice代理类的详解
    • asp.net 添加水印的代码(已测试)
    • ASP.NET中Application、Cookie、Session、Cache和ViewState
    • asp.net 数据访问层 存储过程分页语句
    • asp.net Repeater分页实例(PageDataSource的使用)
    • 获取App.config配置文件中的参数值
    • 在ASP.NET Core 中发送邮件的实现方法(必看篇)
    • ASP.NET如何定时调用WebService服务
    • ASP.NET MVC使用EPPlus,导出数据到Excel中
    • Asp.Net Core MVC项目实现多语言实例(Globalization/Localization)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有