【华磊原创】原创分享-在Asp.net下实现变长连接的web即时应用的实现范例及ReverseAjax的演示介绍
2011-12-15 11:43
525 查看
随笔,根据公司近期的一个培训整理的资料,附件包括一个完整的使用变长连接的web即时聊天室的范例和针对ReverseAjax的ppt培训文稿,其中ppt中包含了对范例程序的完整讲解。
ReverseAjax 反转AJAX是一种旨在将逻辑控制权转移到服务端的Web实现模式
何谓控制权转移
传统的AJAX调用一般由客户端行为触发,比如说获取区域数据,异步验证等。
ReverseAjax将控制权转交给服务端,就像服务端触发客户端事件一样,即很早的Web推的技术。
ASP.NET实现变长连接需要使用到异步页面的技术,同时该页面需要禁用会话来实现每次请求都产生一个新的实例执行。
具体代码和实现效果请参见范例。
附件:
演示文稿:ReverseAjax.pptx
范例程序: ReverseAjaxChat范例.rar
ReverseAjax 反转AJAX是一种旨在将逻辑控制权转移到服务端的Web实现模式
何谓控制权转移
传统的AJAX调用一般由客户端行为触发,比如说获取区域数据,异步验证等。
ReverseAjax将控制权转交给服务端,就像服务端触发客户端事件一样,即很早的Web推的技术。
ASP.NET实现变长连接需要使用到异步页面的技术,同时该页面需要禁用会话来实现每次请求都产生一个新的实例执行。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="response.aspx.cs" Inherits="_Default" Async="true" AsyncTimeout="30" EnableSessionState="False"%> if (Request.Form.Count>0) { if (Request.Form["type"] == "loop") { ChatTask task = new ChatTask(this.Context); task._chatNow = this.ChatNow;//有新的消息的回调方法,即为通知处理,这个时候释放掉连接 string user = Request.Form["user"].Trim(); PageAsyncTask async = new PageAsyncTask(new BeginEventHandler(task.OnBegin), new EndEventHandler(task.OnEnd), new EndEventHandler(task.OnTimeout), user); Page.RegisterAsyncTask(async); Page.ExecuteRegisteredAsyncTasks();//异步执行 } }
具体代码和实现效果请参见范例。
附件:
演示文稿:ReverseAjax.pptx
范例程序: ReverseAjaxChat范例.rar
相关文章推荐
- 在Asp.net下实现变长连接的web即时应用的实现范例及ReverseAjax的演示介绍
- 在Asp.net下实现变长连接的web即时应用的实现范例及ReverseAjax的演示介绍
- ASP.NET中应用XML技术实现Web报表打印
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 【原创】ASP.NET Web 应用开发实战快速上手系列 1——配置环境及预备知识(框架、VS、C#)
- cWeb开发框架,基于asp.net的cWeb应用开发平台介绍(一)
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(二) 之 ChatServer搭建,连接服务器,以及注意事项。
- cWeb开发框架,基于asp.net的cWeb应用开发平台介绍(二)
- ASP.NET Mvc Preview 5 演示Demo #4 实现RadioButtonList与DropDownList应用
- asp.net web页面元素的多语言化(多国语化)实现分享
- asp.net web页面元素的多语言化(多国语化)实现分享
- asp.netWeb开发中ztree实现无极限增删改查连接数据同步数据库操作
- 分享ASP.NET使用Lodop控件实现Web打印功能
- ASP.NET中应用XML技术实现Web报表打印
- MapxTreme2004 ASP.NET在WEB下实现地图上修改某点的地理位置-原创
- ASP.NET Mvc Preview 5 演示Demo #4 实现RadioButtonList与DropDownList应用
- 分享提高ASP.NET Web应用性能的技巧
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(五) 之 加好友,加群流程,消息管理和即时消息提示的实现
- 分享提高ASP.NET Web应用性能的技巧
- ASP.NET中实现Web打印的方案