基于AJAX的ASP.NET聊天室-如何建立共识

ajax|asp.net|聊天室

这是一篇从技术角度来说非常入门级的文章,别看到标题又是AJAX又是chat room,就以为用到了Atlas和HttpHandler之类复杂的东西,实际上它仅仅使用了XMLHttpRequest和Page。这就降低了读者所需要跨越的技术门槛,即使你平常只是使用Page,而对XMLHttpRequest也仅有一点点的了解,也不会妨碍你阅读这篇文章。

文章开篇第一段Introduction简单介绍了项目的背景,作者说他最初设计聊天室是使用ASP,只放置了两个文本框,并且采用每几秒刷新一次的办法。这听起来很“原始”对吧,不过我觉得正是“原始”的东西才能够让新手容易理解和模仿,然后他们才能一步一步做出更高级的东西来。

文章的第二段说明了sample的一些情况,例如它只有一个聊天室,用户列表会随用户登录和会话超时而改变。文章的第三段告诉你一些程序的特性,例如它创建了一个ChatEngine的类,这个类负责处理整个聊天室相关的逻辑,并且声明其一个静态实例于HttpApplication当中。

接下来文章会仔细说明这个聊天室的工作流,如果你有过制作聊天室的经验,你可以一边对比着自己的经验,一边去理解文章的意思和其中的代码。这个聊天室的sample虽然是用ASP.NET写成的,但却是混合则ASP和ASP.NET的写作风格,然而又不至于让人觉得杂乱无章,反而可能会让你感觉到“简单就好”的道理——有时候在ASP.NET中制作一个简单应用,特别是非面向页面的,用回ASP的面向流的方式思考也不错。

如何建立共识 (Building Consensus)
作者是Brad Abrams,文章第一句就说"One of the core skills of a Program Manager is to build consensus",也就是“程序经理的一项核心技能就是建立共识”。接着作者花了两段的文字说明在Microsoft这样的企业内部,建立共识是多么重要的一件事情,然后就开始列举建立共识的方法了。

在文章中,作者共列举了25种建立共识的方法,包括“请求帮助”、“写下来”、“获取数据”等等,每一个方法后面都有一小段文字帮你理解它的意思。你可以先尝试用自己的经验去理解方法的名称,然后再看看后面的说明是否和你想的一致。别忘记了,"not all of them work in every case, pick the ones that feel best for you and for the situation",也就是说“并非所有方法都在各种场合中适用,选择那些让你感觉到对你和对当前形势最好的方法”。

最后,作者还指出了3个会让你无法建立共识的做法,分别是“祈求忽略”、“事件升级”和“来自高层的任务”。使用这个3种方法,通常会导致共识无法达成。

通过Flash替换法在页面上显示特定字体 (sIFR 2.0: Rich Accessible Typography for the Masses)
超值赠送部分又来了,这次提供的是一个Flash+javascript的小工具,能够让你将页面上特定区域(通常是标题)的文字用Flash替换掉,而好处当然是可以显示任何你想要的字体,因为Flash是可以嵌入字体的。

需要下载此工具的话,可以直接滚动到该文章的最后一部分找到下载链接。文章的中间部分解释了它是怎么工作的:

一个普通的XHTML页面加载到浏览器中。
一个JavaScript函数开始检查是否安装了Flash以及搜索出你指派它处理的tag、id或class。
如果没有安装Flash,那就什么事情都不会发生。如果安装了Flash,它就帮你遍历你指派它处理的元素,测量它们当前的大小。
一旦测量完成,JavaScript就会在元素上创建一个相同大小的Flash覆盖原本的文字,并将原本的文字通过Flash变量的形式传入。
Flash中的ActionScript会按照你指定的字体绘制传入的文字,从6点字体开始放大,直到它刚刚好填充满Flash的大小。

http://www.cnblogs.com/cathsfz/archive/2007/01/03/610876.html

时间: 2024-10-03 20:57:06

基于AJAX的ASP.NET聊天室-如何建立共识的相关文章

golang基于websocket实现的简易聊天室程序_Golang

本文实例讲述了golang基于websocket实现的简易聊天室.分享给大家供大家参考,具体如下: 先说点无关的,最近忙于工作没有更新博客,今天休息顺便把golang websocket研究了一下,挺好玩的,写了一个聊天室,分享给大家. websocket包 : code.google.com/p/go.net/websocket 文档 : http://go.pkgdoc.org/code.google.com/p/go.net/websocket 首先安装websocket包 复制代码 代码

手把手教你建ASP语音聊天室

聊天室 第一步:下载语音聊天室服务器端程序,我们要用的是Bchat工作室的Bchat Server. 1.进入http://bchat.yinsha.com/页面:2.页面右侧的"火热头条"中有"Bchat推出10用户免费下载版"字样,我们需要的就是它:3.点击"Bchat推出10用户免费下载版"的链接后,就到了免费版本下载页面:4.在下载页面中下载"Windows版本"(其他版本我没用过,我就会使用Windows版本):5.

ASP语音聊天室的搭建

第一步:下载语音聊天室服务器端程序,我们要用的是Bchat工作室的Bchat Server. 1.进入http://bchat.yinsha.com/页面: 2.页面右侧的"火热头条"中有"Bchat推出10用户免费下载版"字样,我们需要的就是它: 3.点击"Bchat推出10用户免费下载版"的链接后,就到了免费版本下载页面: 4.在下载页面中下载"Windows版本"(其他版本我没用过,我就会使用Windows版本): 5.

php聊天室-基于php 怎样实现 分布式聊天室?

问题描述 基于php 怎样实现 分布式聊天室? 接到一个开发项目 一个聊天室系统 用php来开发 我试了很多方法 包括用socket接口 node.js+socket.io 单个聊天室可以实现 但是用这些东西都是要监听一个接口 如果起多个聊天室 那么就要新开监听接口 有没有什么手段可以实现这样多聊天室并存的系统(要考虑支持高并发) 在线求助大神!!!

青鸟小弟,请问用AJAX技术做的聊天室,一个页面发送 信息(Message),而另一个页面无法达到及时更新数据,当另一个页面发送数据的时候,才能更新数据!急求?

问题描述 青鸟小弟,请问用AJAX技术做的聊天室,一个页面发送信息(Message),而另一个页面无法达到及时更新数据,当另一个页面发送数据的时候,才能更新数据!急求解决问题的方案用到的技术JSP,Struts2,Hibernate,Spring,用到的内置对象:application:这个关键--是存放发送的信息的,Session:这个主要是区别不同登录用户???请问如何达到要求,一个页面发送信息,另一个页面也更新数据,大前提:不要刷新页面,我用的就是AJAX技术,我急求高手指点一下菜鸟小弟,

请问聊天室系统用什么语言开发好呢?是PHP好?还是ASP开发聊天室好呢?

问题描述 是PHP好?还是ASP开发聊天室好呢? 解决方案 解决方案二:下载一个最好!!!解决方案三:LS的太水了..我觉得ASP好解决方案四:哪个熟练哪个写自己写的最好解决方案五:语言不是关键,关键是你能更熟练的运用哪个用哪个··

基于LINUX的多功能聊天室

原文:基于LINUX的多功能聊天室 基于LINUX的多功能聊天室 其实这个项目在我电脑已经躺了多时,最初写完项目规划后,我就认认真真地去实现了它,后来拿着这个项目区参加了面试,同样面试官也拿这个项目来问我,当然我是做过一遍了,而且为了面试,我将什么strcpy,strlen等最常用的函数都自己实现了一遍,说着,我感觉自己有点挺用功的样子呢! 后来,工作也定下来了,等三方,然后继续帮助我的导师做项目,经过老师的威逼利诱下,我屈服了,又把智能家居系统作为项目,同时也是我的毕业设计,而且功能还要十分完

asp简单聊天室程序 一

很多以前的聊天室程序哦,只用到两个文件哦.下我看第一个html文件吧. <html><head><title>asp简单聊天室程序</title> <style>*{font:9pt 宋体;line-height:1.7}</style> <script> var XmlDom = document.createElement("xml"); XmlDom.onreadystatechange=func

asp简单聊天室程序 二

asp简单聊天室程序 二 <%@Language="JavaScript" CodePage="936"%><% var Nothing; Response.addHeader("Cache-Control","no-cahce"); if(!Session.Contents("Chat_User")) {     Session.Contents("Chat_User"