簡體   English   中英

asp.net中的可自定義UI

[英]Customizable UI in asp.net

我正在開發一種產品,該產品可與asp.net一起用於表驅動的表單,我們聲明頁面的各個部分以及將在該部分中顯示的控件。 可以進入特定控件的可能值也是由數據庫驅動的。 基本思想是根據每個客戶端的需求自定義ui和應用程序流,但是這種方法缺乏性能。 在客戶端渲染頁面非常慢。 請提出這種方法的替代方案。

就個人而言,我寧願先嘗試找出速度緩慢的原因位置

通常,運行一個快速的性能分析器會話(例如,使用Red Gate的ANTS Performance Profiler )可以使您理解為什么它運行緩慢。

在找出緩慢的原因之后,您可以決定是否

  • 優化您當前的算法-或者-
  • 切換到新算法。

如果您認為服務器端沒有問題,請從db或其他代碼隱藏對象中選擇數據。 您應該檢查頁面的viewstate並嘗試將其降低。 您確定服務器端沒有任何問題嗎?

缺陷主要在於細節,即數據驅動的UI的實際實現。 您必須對應用程序進行概要分析,以找出導致應用程序運行緩慢的原因。 此練習可能有很多方面。 例如,

  1. 服務器端處理速度很慢-您可以使用簡單的方式進行日志記錄/跟蹤(或探查器應用程序)來找出浪費的時間。
  2. 網絡速度慢-您可能會發出一頁的大量資源請求,頁面大(由於視圖狀態和/或腳本和樣式的內聯)等。使用諸如Fiddler / firebug / Browser-> View Source之類的工具確定此類問題。
  3. 瀏覽器(客戶端)運行緩慢-使用效率低下的標記和腳本會使您的網站運行緩慢。

您可以嘗試各種方法來提高性能-

  1. 嘗試緩存事物-您可以緩存元數據(表單的定義),可以緩存用戶數據,可以緩存“處理”,即某些涉及處理的結果。 例如,您可以緩存呈現的空白表單的標記,並在用戶請求空白表單時提供它。
  2. 壓縮您的響應,最小化腳本,外部化樣式和腳本
  3. 使用ajax以獲得更好的用戶體驗
  4. 考慮諸如動態編譯之類的事情-例如,您可以為表單生成源並進行編譯,而不是按需生成

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM