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

AJAX技术
AJAX 用户注册时的应用实例
ajax readyState的五种状态详解
php AJAX POST的使用实例代码
Ajax 用户名验证是否存在
Ajax+PHP简单基础入门实例教程
AJAX 异步传输数据的问题
ASP AJAX 静态分页
js装载xml文件然后发向服务器的实现代码
完成了AJAX树附原理分析
AJAX 支持搜索引擎问题分析
ajax Suggest类似google的搜索提示效果
Ajax 框架学习笔记
用ajax xml的数据读取的HelloWorld程序
Ajax 表单验证 实现代码
Ajax request response 乱码解决方法
AJAX 随记
ajax 乱码的一种解决方法
ajax session过期问题的几个解决方案
四步学会 Ajax
Ajax异步(请求)提交类 支持跨域

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 57 ::
收藏到网摘: 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的大小。