程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> 在Asp.net下實現變長連接的web即時應用的實現范例及ReverseAjax的演示介紹

在Asp.net下實現變長連接的web即時應用的實現范例及ReverseAjax的演示介紹

編輯:ASP.NET基礎
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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved