在Asp.net下实现变长连接的web即时应用的实现范例及ReverseAjax的演示介绍_asp.net教程-查字典教程网
在Asp.net下实现变长连接的web即时应用的实现范例及ReverseAjax的演示介绍
在Asp.net下实现变长连接的web即时应用的实现范例及ReverseAjax的演示介绍
发布时间:2016-12-29 来源:查字典编辑
摘要: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

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类