• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    開發高性能的 ASP.NET 應用程序

    發布: 2008-5-07 13:30 | 作者: 網絡轉載 | 來源: 本站原創 | 查看: 60次 | 進入軟件測試論壇討論

    領測軟件測試網 使用本主題中的準則所列出的方法有助于最大程度提高 ASP.NET Web 應用程序的吞吐量。這些準則分為以下部分:

      頁面和服務器控件處理

      狀態管理

      數據訪問

      Web 應用程序

      編碼實踐
     
      頁面和服務器控件處理
      下列準則提供了有效使用 ASP.NET 頁面和控件的建議。

      避免到服務器的不必要的往返行程 在某些情況下不必使用 ASP.NET 服務器控件和執行回發事件處理。例如,在 ASP.NET 網頁中驗證用戶輸入經?稍跀祿峤坏椒⻊掌髦霸诳蛻舳诉M行。通常,如果不需要將信息傳遞到服務器以進行驗證或將其寫入數據存儲區,請避免使用導致到服務器的往返行程的代碼,這樣可以提高頁的性能并改善用戶體驗。您也可以不執行整個往返行程,而是使用客戶端回調從服務器中讀取數據。有關詳細信息,請參見在 ASP.NET 網頁中不經過回發而實現客戶端回調。

      如果您開發自定義服務器控件,請考慮讓它們為支持 ECMAScript (JavaScript) 的瀏覽器呈現客戶端代碼。通過以這種方式使用服務器控件,您可以顯著地減少信息被發送到 Web 服務器的次數。有關更多信息,請參見開發自定義 ASP.NET 服務器控件。

      使用 Page 對象的 IsPostBack 屬性來避免對往返行程執行不必要的處理 如果您編寫處理服務器控件回發處理的代碼,有時可能需要代碼僅在首次請求頁時執行,而不是每次回發時都執行。根據該頁是否是響應服務器控件事件生成的,使用 IsPostBack 屬性有條件地執行代碼。 

      只在必要時保存服務器控件視圖狀態 自動視圖狀態管理使服務器控件可以在往返行程中重新填充它們的屬性值,而您不需要編寫任何代碼。但是,因為服務器控件的視圖狀態在隱藏的窗體字段中往返于服務器,所以該功能影響性能。了解在哪些情況下視圖狀態會有所幫助,在哪些情況下它影響頁的性能,這樣是有幫助的。例如,如果您將服務器控件綁定到每個往返行程上的數據,因為控件的值會在數據綁定期間用新值替換,所以保存的視圖狀態沒有用處。在這種情況下,禁用視圖狀態可以節省處理時間并減少頁的大小。

      默認情況下,為所有服務器控件啟用視圖狀態。若要禁用它,請將控件的 EnableViewState 屬性設置為 false,如下面的   DataGrid 服務器控件示例所示:
    <asp:datagrid EnableViewState="false" datasource="..." runat="server"/>
      您還可以使用 @ Page 指令禁用整個頁的視圖狀態。當您不從頁回發到服務器時,這將十分有用:
    <%@ Page EnableViewState="false" %>
    注意
      @ Control 指令中還支持 EnableViewState 屬性以指定是否為用戶控件啟用視圖狀態。
      若要分析服務器控件在頁中使用的視圖狀態的大小,請通過將 trace="true" 屬性包含在 @ Page 指令中啟用對該頁的跟蹤。然后在跟蹤輸出中,查看“控件層次結構”表的“Viewstate”列。有關跟蹤和如何啟用它的信息,請參見 ASP.NET 跟蹤。

      除非有特殊的原因要關閉緩沖,否則使其保持打開狀態 禁用 ASP.NET 網頁的緩沖會導致大量的性能開銷。有關更多信息,請參見 Buffer 屬性。

      使用 Transfer Server 對象或跨頁發送的方法在同一個應用程序中的不同 ASP.NET 頁之間重定向 有關詳細信息,請參見將用戶重定向到另一頁。
    狀態管理
      下列準則提供了有效進行狀態管理的建議。

      當不使用會話狀態時禁用它 并不是所有的應用程序或頁都需要具體用戶的會話狀態;您應該在不需要時禁用會話狀態。若要禁用頁的會話狀態,請將 @ Page 指令中的 EnableSessionState 屬性設置為 false,如下面的示例所示:
    <%@ Page EnableSessionState="false" %>
    注意
      如果頁需要訪問會話變量,但不會創建或修改它們,則將 @ Page 指令中的 EnableSessionState 屬性設置為 ReadOnly。


      還可以禁用 XML Web services 方法的會話狀態。有關更多信息,請參見使用 ASP.NET 和 XML Web 服務客戶端創建的 XML Web 服務。

      若要禁用應用程序的會話狀態,請在應用程序的 Web.config 文件的 SessionState 節中將 Mode 屬性設置為 Off,如下面的示例所示:
    <sessionState mode="Off" />

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: asp ASP net NET Net 高性能 開發 應用程序

    31/3123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>