【华磊原创】原创分享-在Asp.net下实现变长连接的web即时应用的实现范例及ReverseAjax的演示介绍...

随笔,根据公司近期的一个培训整理的资料,附件包括一个完整的使用变长连接的web即时聊天室的范例和针对ReverseAjax的ppt培训文稿,其中ppt中包含了对范例程序的完整讲解。

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

转载于:https://www.cnblogs.com/hualei/archive/2011/12/15/2288614.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值