zoukankan      html  css  js  c++  java
  • 【华磊原创】原创分享在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

    本文作者:华磊 出处:http://www.cnblogs.com/hualei/
    本文版权归华磊和博客园、CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-博客园-华磊CSDN-华磊
    特别授权:敏捷开发(SCRUM)系列文章特授权上海火速转载使用并应用到研发项目“火速智卓-用心连接企业员工的微信企业号应用平台”的管理中。
    小规模研发团队的敏捷开发(SCRUM)全集
    JQuery+FlexiGrid+asp.net完美解决方案-开源项目dotNetFlexGrid,构建快速的Ajax应用程序[官网][下载]。
  • 相关阅读:
    Sets 比赛时想错方向了。。。。 (大数不能处理负数啊)
    Power Sum 竟然用原根来求
    Dynamic Inversions II 逆序数的性质 树状数组求逆序数
    Lowbit Sum 规律
    Dynamic Inversions 50个树状数组
    Muddy Fields
    组合 Lucas定理
    GCD SUM 强大的数论,容斥定理
    Liers 树状数组+中国剩余定理
    C#中提取文件路径的目录的各种操作
  • 原文地址:https://www.cnblogs.com/hualei/p/2288614.html
Copyright © 2011-2022 走看看