当前位置: 首页 > 图文教程 > 网络编程 > AJAX技术 > 基于AJAX的ASP.NET聊天室-如何建立共识

AJAX技术
自己动手封装的 ajax
Ajax 对象 包含post和get两种异步传输方式
Ajax 超时检查脚本
AJAX 简介及入门实例
ajax 开发守则 10条说明
Ajax 返回字符串的过滤实现代码
Ajax 程序开发中常见问题
AJAX 验证框架13个
ajax 入门基础之 XMLHttpRequest对象总结
基于AJAX的分页类实现代码
如何在Asp.net中使用HtmlArea编辑器
使用 jQuery 简化 Ajax 开发
ASP.NET 与 Ajax 的实现方式
AJAX技术介绍
Ajax程序设计入门
学习Ajax教程,详细了解Get与Post
关于Ajax responseText 的一点阐述
ajax中文乱码解决方法
AJAX中文问题总结
AJAX无刷新更新数据

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 53 ::
收藏到网摘: n/a

 
这是一篇从技术角度来说非常入门级的文章,别看到标题又是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的大小。