欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-06 12:45:38
reverseajax 反转ajax是一种旨在将逻辑控制权转移到服务端的web实现模式 何谓控制权转移   传统的ajax调用一般由客户端行为触发,比如说获取区域数据,异步...
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