關於ASP.NET開發實時監控程序的體會

     最近一直在開發呼叫中心平臺下實時監控程序,是基於BS架購的多層應用程序。開發環境是VS2003。NET。服務器端通過socket從數據服務器獲取坐席,中繼,IVR等的實時狀態數據和實時統計數據。客戶端採用AJAX方式向服務器端提取數據並顯示在頁面。
      由於CLR是基於COM的,所以在對通信控制和內存管理方面不是很靈活。所以對於WEB服務器端來說,重點就在維持和數據服務器的長連接。對於CLR來說,在通訊和信息收發過程中不出現錯誤是不可能的。所以問題就轉移到在出現錯誤後即使的發現錯誤和恢復連接。數據解析倒比較簡單,爲了增加程序控制的靈活性,對解析後的數據用自己的數據結構進行組織,而不是直接推給客戶端。儘管對數據的這種組織相對數據服務器的數據有容餘。也遭到過別人的質疑。但至少在我看來這是值得的。
      對於客戶端的javascrpt腳本,採用面向對象的方式重新組織腳本。在一定程度上提高的腳本執行的效率。數據的拼接也採用類似dotNet框架庫中的StreamBuilder的方式。消除的string對象在字符串連接中效率的損失。但由於IE和腳本解析器在相互引用過程中對其自身內部的引用計數超成影響從而導致內存泄露。雖然可以通過js優化和CollectGarbage收集函數的調用來回收內存。但對IE中句柄的回收卻一直沒有很好的辦法。
      JAVASCRIPT+DOM+AJAX儘管提高了用戶的體驗並且使服務器和客戶端的通信更加流暢。但由於在效率和環境依賴上的缺陷。使的B/S要取代C/S的目標仍然遙不可及。
     
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章