【華磊原創】原創分享-在Asp.net下實現變長串連的web即時應用的實現範例及ReverseAjax的示範介紹

來源:互聯網
上載者:User

隨筆,根據公司近期的一個培訓整理的資料,附件包括一個完整的使用變長串連的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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.