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

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

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

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

    編寫高性能WEB 應用程序的10 個技巧

    發布: 2009-4-16 09:27 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 47次 | 進入軟件測試論壇討論

    領測軟件測試網

    System.Threading 命名空間中的 Timer 類非常有用,但是在 .NET Framework 中不是很有名,至少對于 Web 開發人員來說是這樣。創建之后,這個 Timer 類將以一個可配置的間隔針對 ThreadPool 中的某個線程調用指定的回調。這就表示,您可以對代碼進行設置,使其能夠在沒有對 ASP.NET 應用程序進行傳入請求的情況下得以執行,這是后臺處理的理想情況。您還可以在此后臺進程中執行如索引或發送電子郵件之類的操作。

    但是,這一技術有幾個問題。如果應用程序域卸載,該計時器實例將停止觸發其事件。另外,因為 CLR 對于每個進程的線程數量具有一個硬性標準,所以可能會出現這樣的情形:服務器負載很重,其中計時器可能沒有可在其基礎上得以完成的線程,在某種程度上可能會造成延遲。ASP.NET 通過在進程中保留一定數量的可用線程,并且僅使用總線程的一部分用于請求處理,試圖將上述情況發生的機會降到最低。但是,如果您具有很多異步操作時,這可能就是一個問題了。

    這里沒有足夠的空間來放置該代碼,但是您可以下載一個可以看懂的示例,網址是 www.rob-howard.net。請了解一下 Blackbelt TechEd 2004 演示中的幻燈片和演示。


    技巧 7 — 頁輸出緩存和代理服務器


    ASP.NET 是您的表示層(或者說應該是您的表示層);它由頁、用戶控件、服務器控件(HttpHandlers 和 HttpModules)以及它們生成的內容組成。如果您具有一個 ASP.NET 頁,它會生成輸出(HTML、XML、圖像或任何其他數據),并且您針對每個請求運行此代碼時,它都會生成相同的輸出,那么您就擁有一個可用于頁輸出緩存的絕佳備選內容。

    將此行內容添加頁的最上端

    <%@ Page OutputCache VaryByParams="none" Duration="60" %>

    就可以高效地為此頁生成一次輸出,然后對它進行多次重用,時間最長為 60 秒,此時該頁將重新執行,輸出也將再一次添加到 ASP.NET 緩存。通過使用一些低級程序化 API 也可以完成此行為。對于輸出緩存有幾個可配置的設置,如剛剛講到的 VaryByParams 屬性。VaryByParams 剛好被請求到,但還允許您指定 HTTP GET 或 HTTP POST 參數來更改緩存項。例如,只需設置 VaryByParam="Report" 即可對 default.aspx?Report=1 或 default.aspx?Report=2 進行輸出緩存。通過指定一個以分號分隔的列表,還可以指定其他參數。

    很多人都不知道何時使用輸出緩存,ASP.NET 頁還會生成一些位于緩存服務器下游的 HTTP 標頭,如 Microsoft Internet Security and Acceleration Server 或 Akamai 使用的標頭。設置了 HTTP 緩存標頭之后,可以在這些網絡資源上對文檔進行緩存,客戶端請求也可在不必返回原始服務器的情況下得以滿足。

    因此,使用頁輸出緩存不會使得您的應用程序效率更高,但是它可能會減少服務器上的負載,因為下游緩存技術會緩存文檔。當然,這可能只是匿名內容;一旦它成為下游之后,您就再也不會看到這些請求,并且再也無法執行身份驗證以阻止對它的訪問了。


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

    65/6<123456>

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