在Asp.net下实现变长连接的web即时应用的实现范例及ReverseAjax的演示介绍

(编辑:jimmy 日期: 2024/10/6 浏览:2)

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();//异步执行
}
}

具体代码和实现效果请参见范例。
附件:
范例程序: ReverseAjaxChat范例.rar
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。