1. 程式人生 > >ASP.NET伺服器推送及前後臺實時互動

ASP.NET伺服器推送及前後臺實時互動

一:專案需求

  頁面需要做一個上傳Excel功能,並處理Excel中的資料到資料庫中

  這是一個較為漫長的過程

  這時我需要在頁面上顯示處理進度的提示,給使用者一個良好的體驗

  比如給使用者提示“正在上傳文件”,“正在處理資料” ,包括處理過程中的需要前臺使用者給與選擇(前後臺實時互動,如下圖),進一步可以實現進度條、線上聊天、全站廣播等功能


 二:技術分析

   COMET伺服器推送技術原理就我個人理解來說就是:

            一個頁面通過AJAX 傳送請求,後臺獲取到該請求並保留該請求。當另外一個執行緒處理出一個結果的時候,這個執行緒去呼叫保留的AJAX請求,並返回給頁面資訊。頁面處理返回的訊息後,立刻再次通過AJAX傳送請求。頁面一直保持著有一個AJAX請求在執行,直到我們的程式處理結束

三:程式碼實現

VS2010 工程程式碼