欧美国产日韩精品-欧美国产日韩久久久-欧美国产日韩一区二区三区-欧美国产日韩在线-台湾毛片-台湾美女古装一级毛片

關于ASP.NET的性能優化的探討

來源:期刊VIP網所屬分類:軟件開發時間:瀏覽:

  摘要:隨著Internet的普及,越來越多的企業建立了自己的WWW網站,企業通過網站可以展示產品,發布最新動態,與用戶進行交流和溝通,與合作伙伴建立聯系,以及開展電子商務等。網站建設在采用了ASP.NET技術的系統性能上有了很大的改善。

  關鍵字:ASP.NET、性能 開發 優化

  Abstract: With the popularity of the Internet, more and more enterprises to establish their own WWW site, the enterprises through the website can show the product, the latest developments, exchange and communication with the user, to establish contact with partners, as well as e-commerce. Site construction has been greatly improved system performance using ASP.NET technology.

  Key words: ASP. NET, and performance; development; optimization

  中圖分類號:G250.72 文獻標識碼:A 文章編號:2095-2104(2012)

  隨著Internet的普及,越來越多的企業建立了自己的WWW網站,企業通過網站可以展示產品,發布最新動態,與用戶進行交流和溝通,與合作伙伴建立聯系,以及開展電子商務等。

  一、ASP.NET技術的系統性能的優勢

  傳統的網站管理方式有兩種,一是靜態HTML頁面,更新信息時需要重新制作頁面然后上傳頁面并修改相應鏈接,這種方式因為效率太低已不多用。二是基于ASP和腳本語言,將動態網頁和數據庫結合,通過應用程序來處理進行網站管理,這是目前較為流行的做法。但是由于ASP本身的局限性使得系統有一些不可克服的缺陷,而采取了ASP.NET技術的系統性能上有了很大的改善,其主要表現在以下幾方面:

  1、由于ASP頁面每次打開都必須經過先編譯后解釋的過程,所以頁面在反復打開時速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應用程序重新啟動。這使得在多次訪問時速度有了極大的提升。

  2、由于ASP沒有提供任何輸出數據為內容的元件,所以在使用ASP撰寫數據庫頁面時只能借助ADO的RecordSet對象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數據庫元件可以直接和數據庫聯系。

  3.ASP.NET支持應用程序的實時更新。管理員不必關掉網絡服務器或者甚至不用停止應用程序的運行就可以更新應用文件。應用程序文件永遠不會被加鎖,因此甚至在程序運行時文件就可以被覆蓋。當文件更新后,系統會溫和地轉換到新的版本。

  4.ASP.NET采取"code-behind"方式編寫代碼使得代碼更易于編寫,結構更清晰,降低了系統的開發與維護的復雜度和費用。

  但是我們用ASP.NET開發網站,無論我們寫的ASP.NET應用程序有多么好,無論在Web站點中添加了多少很酷的新特性,如果我們的站點在處理用戶請求時哪怕只是讓用戶等待了幾秒鐘,用戶也不會對我們的站點留下好印象。事實上,如果用戶等得太久,他們就會放棄而去訪問另一個站點。那么,如何才能提高站點的響應速度,這就要考慮到我們在開發過程中如何優化ASP.NET的性能。這就是我們所說ASP.NET的性能開發及其優化。

  二、ASP.NET的性能開發和優化

  (一)利用JIT編譯器提高程序執行速度

  高性能代碼旨在能少做工作就少做工作,這是不言而明的。

  在編譯任何ASP.NET的應用程序時,編譯器把源代碼轉換為Microsoft中間語言(MSIL)。要在一個具體環境中執行應用程序,一個JIT編譯器先接受MSIL輸出并把指令轉換為主機處理的本機指令,再以即時方式編譯代碼,以便應用程序開始執行。但是,JIT編譯器不是把程序集中所有的MSIL都在開始執行前轉換為本機代碼,只是一次編譯一個方法。JIT編譯器采用的這種方法有兩個性能上的優勢。第一個優勢:這項技術把編譯的成本分攤在一個較長的時間內,由于執行會比JIT編譯器把所有的MSIL都進行編譯看起來要快,這樣感覺到應用程序的性能提高了。如果把長時間的暫停或等待時間分成小塊,把它們分散開,你的用戶就不會注意到它們,用戶對你的應用程序的性能也會比較滿意。第二個優勢:JIT編譯器不編譯在執行期間用不到的方法。因此不會做沒有必要的工作,無論什么時候省去不必要的處理工作,你就會發現可以獲得真正的性能增益。

  (二)數據庫訪問性能優化

  1、使用存儲過程

  存儲過程是存儲在服務器上的一組預編譯的SQL語句,類似于DOS系統中的批處理文件。存儲過程具有對數據庫立即訪問的功能,信息處理極為迅速。使用存儲過程可以避免對命令的多次編譯,在執行一次后其執行規劃就駐留在高速緩存中,以后需要時只需直接調用緩存中的二進制代碼即可。另外,存儲過程在服務器端運行,獨立于ASP.NET程序,便于修改,最重要的是它可以減少數據庫操作語句在網絡中的傳輸。

  2、優化查詢語句

  ASP.NET中ADO連接消耗的資源相當大,SQL語句運行的時間越長,占用系統資源的時間也越長。因此,盡量使用優化過的SQL語句以減少執行時間。

  (三)字符串操作性能優化

  1、使用值類型的ToString方法

  在連接字符串時,經常使用"+"號直接將數字添加到字符串中。這種方法雖然簡單,也可以得到正確結果,但是由于涉及到不同的數據類型,數字需要通過裝箱操作轉化為引用類型才可以添加到字符串中。但是裝箱操作對性能影響較大,因為在進行這類處理時,將在托管堆中分配一個新的對象,原有的值復制到新創建的對象中。使用值類型的ToString方法可以避免裝箱操作,從而提高應用程序性能。

  2、運用StringBuilder類

  String類對象是不可改變的,對于String對象的重新賦值在本質上是重新創建了一個String對象并將新值賦予該對象,其方法ToString對性能的提高并非很顯著。在處理字符串時,最好使用StringBuilder類,其.NET 命名空間是System.Text。該類并非創建新的對象,而是通過Append,Remove,Insert等方法直接對字符串進行操作,通過ToString方法返回操作結果。

  (四)優化 Web 服務器計算機和特定應用程序的配置文件以符合您的特定需要

  默認情況下,ASP.NET 配置被設置成啟用最廣泛的功能并盡量適應最常見的方案。因此,應用程序開發人員可以根據應用程序所使用的功能,優化和更改其中的某些配置,以提高應用程序的性能。

  1、僅對需要的應用程序啟用身份驗證。

  默認情況下,身份驗證模式為 Windows,或集成 NTLM。大多數情況下,對于需要身份驗證的應用程序,最好在 Machine.config 文件中禁用身份驗證,并在 Web.config 文件中啟用身份驗證。根據適當的請求和響應編碼設置來配置應用程序。ASP.NET 默認編碼格式為 UTF-8。如果您的應用程序為嚴格的 ASCII,請配置應用程序使用 ASCII 以獲得稍許的性能提高。

  2、考慮對應用程序禁用 AutoEventWireup。

  在 Machine.config 文件中將 AutoEventWireup 屬性設置為 false,意味著頁面不將方法名與事件進行匹配和將兩者掛鉤(例如 Page_Load)。如果頁面開發人員要使用這些事件,需要在基類中重寫這些方法(例如,需要為頁面加載事件重寫 Page.OnLoad,而不是使用 Page_Load 方法)。如果禁用 AutoEventWireup,頁面將通過將事件連接留給頁面作者而不是自動執行它,獲得稍許的性能提升。

  3、從請求處理管線中移除不用的模塊。

  默認情況下,服務器計算機的 Machine.config 文件中 節點的所有功能均保留為激活。根據應用程序所使用的功能,您可以從請求管線中移除不用的模塊以獲得稍許的性能提升。檢查每個模塊及其功能,并按您的需要自定義它。例如,如果您在應用程序中不使用會話狀態和輸出緩存,則可以從 列表中移除它們,以便請求在不執行其他有意義的處理時,不必執行每個模塊的進入和離開代碼。

  (五)只要可能,就緩存數據和頁輸出

  ASP.NET 提供了一些簡單的機制,它們會在不需要為每個頁請求動態計算頁輸出或數據時緩存這些頁輸出或數據。另外,通過設計要進行緩存的頁和數據請求(特別是在站點中預期將有較大通訊量的區域),可以優化這些頁的性能。與 .NET Framework 的任何 Web 窗體功能相比,適當地使用緩存可以更好的提高站點的性能,有時這種提高是超數量級的。使用 ASP.NET 緩存機制有兩點需要注意。

  1、不要緩存太多項。緩存每個項均有開銷,特別是在內存使用方面。不要緩存容易重新計算和很少使用的項。

  2、給緩存的項分配的有效期不要太短。很快到期的項會導致緩存中不必要的周轉,并且經常導致更多的代碼清除和垃圾回收工作。若關心此問題,請監視與 ASP.NET Applications 性能對象關聯的 Cache Total Turnover Rate 性能計數器。高周轉率可能說明存在問題,特別是當項在到期前被移除時。這也稱作內存壓力。

  (六) 避免單線程單元 (STA) COM 組件

  默認情況下,ASP.NET 不允許任何 STA COM 組件在頁面內運行。若要運行它們,必須在 .aspx 文件內將 ASPCompat=true 屬性包含在 @ Page 指令中。這樣就將執行用的線程池切換到 STA 線程池,而且使 HttpContext 和其他內置對象可用于 COM 對象。前者也是一種性能優化,因為它避免了將多線程單元 (MTA) 封送到 STA 線程的任何調用。使用 STA COM 組件可能大大損害性能,應盡量避免。若必須使用 STA COM 組件,如在任何 interop 方案中,則應在執行期間進行大量調用并在每次調用期間發送盡可能多的信息。另外,小心不要在構造頁面期間創建任何 STA COM 組件。

  總之,我們只有在提高ASP.NET應用程序水平,不斷豐富Web站點中新特性的同時,不斷的探索和對ASP.NET的開發和優化,我們才能建立高質量的網站,才能使網站擁有更多的用戶。

99久久精品国产国产毛片| 久久国产一久久高清| 亚洲精品久久久中文字| 九九久久国产精品| 国产综合91天堂亚洲国产| 午夜在线亚洲| 精品国产一区二区三区国产馆| 久久99中文字幕| 精品视频在线观看一区二区三区| 国产亚洲精品aaa大片| 99久久精品国产麻豆| 欧美日本免费| 国产福利免费观看| 欧美国产日韩久久久| 成人高清视频免费观看| 日韩免费在线视频| 999精品在线| 成人影院一区二区三区| 日本特黄特色aaa大片免费| 尤物视频网站在线观看| 香蕉视频久久| 成人影视在线播放| 国产视频网站在线观看| 亚洲爆爽| 免费的黄视频| 欧美一区二区三区性| 超级乱淫伦动漫| 欧美a级成人淫片免费看| 精品在线视频播放| 青青青草视频在线观看| 欧美a级片视频| 日韩中文字幕在线播放| 午夜在线亚洲男人午在线| 九九干| 国产亚洲免费观看| 亚久久伊人精品青青草原2020| 欧美日本免费| 国产伦久视频免费观看 视频| 亚久久伊人精品青青草原2020| 欧美国产日韩在线| 91麻豆爱豆果冻天美星空| 美女免费精品高清毛片在线视| 91麻豆tv| 天天做人人爱夜夜爽2020毛片| 久久久久久久网| 国产原创视频在线| 日本伦理片网站| 99色吧| 九九久久国产精品| 亚洲www美色| 欧美a免费| 亚洲第一页乱| 欧美另类videosbestsex久久| 天天做日日爱| 精品视频在线观看一区二区| 欧美另类videosbestsex高清| 国产a毛片| 久久国产影院| 国产成人精品综合在线| 午夜家庭影院| a级毛片免费全部播放| 欧美大片a一级毛片视频| 一级女性全黄生活片免费| 成人a大片在线观看| 国产成人精品影视| 四虎影视久久久| 黄色短视屏| 国产a一级| 超级乱淫伦动漫| 亚洲第一色在线| 免费一级生活片| 亚洲天堂免费| 国产成人精品影视| 韩国毛片 免费| 999久久66久6只有精品| 91麻豆精品国产自产在线| 成人影视在线播放| 国产一区免费观看| 九九热精品免费观看| 精品国产亚洲人成在线| 国产欧美精品| 一本高清在线| 青草国产在线观看| 国产不卡在线观看视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美国产日韩在线| 日日日夜夜操| 国产91丝袜高跟系列| 成人影院一区二区三区| 日韩中文字幕一区| 精品国产一区二区三区免费| 国产91精品一区| 久草免费资源| 亚洲第一视频在线播放| 99色视频在线| 尤物视频网站在线观看| 欧美一级视| 欧美另类videosbestsex| 国产麻豆精品免费视频| 深夜做爰性大片中文| 国产精品自拍亚洲| 91麻豆精品国产自产在线| 亚洲第一页乱| a级精品九九九大片免费看| 亚欧视频在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产伦精品一区二区三区无广告 | 日韩在线观看网站| 九九国产| 国产高清在线精品一区二区| 免费毛片基地| 日日夜夜婷婷| 九九九国产| 精品在线观看一区| 天天色色网| 青青久久国产成人免费网站| 欧美一区二区三区在线观看| 青草国产在线观看| 成人在免费观看视频国产| 一本高清在线| 国产激情一区二区三区| 久久精品欧美一区二区| 九九国产| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产成人啪精品| 青青久久精品国产免费看| 一级毛片视频播放| 999精品视频在线| 国产美女在线一区二区三区| 成人影院一区二区三区| 国产成人精品一区二区视频| 久久99青青久久99久久| 国产韩国精品一区二区三区| 日本特黄特黄aaaaa大片| 国产不卡在线观看视频| 久久99这里只有精品国产| 青青久热| 精品视频免费看| 亚州视频一区二区| 欧美另类videosbestsex久久 | 欧美18性精品| 成人在免费观看视频国产| 日韩av成人| 你懂的在线观看视频| 日本免费乱理伦片在线观看2018| 日韩免费片| 欧美国产日韩一区二区三区| 久久精品大片| 麻豆系列 在线视频| 国产a视频| 国产a视频| 日本免费区| 99久久精品国产国产毛片| 毛片高清| 日韩专区亚洲综合久久| 香蕉视频久久| 成人免费网站视频ww| 日韩男人天堂| 99色视频在线| 国产91丝袜在线播放0| 日韩在线观看网站| 国产91精品系列在线观看| 久久久久久久男人的天堂| 91麻豆精品国产自产在线 | 亚洲爆爽| 久久久成人网| 国产视频一区二区三区四区| 日韩av成人| 国产精品1024永久免费视频| 亚洲第一色在线| 国产一区免费观看| 中文字幕97| 欧美一区二区三区在线观看| 亚洲精品久久久中文字| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 亚洲 激情| 99久久精品国产麻豆| 二级片在线观看| 欧美爱色| 日韩综合| 成人a大片在线观看| 午夜久久网| 久久精品成人一区二区三区| 精品国产三级a| 精品视频在线看 | 黄视频网站在线观看| 成人免费观看的视频黄页| 亚欧成人乱码一区二区| 免费一级片网站| 99久久精品国产片| 在线观看成人网| 亚洲第一色在线| 麻豆污视频| 一本高清在线| 精品视频在线观看免费 | 精品国产一区二区三区精东影业| 欧美爱色| 二级特黄绝大片免费视频大片| 韩国毛片| 欧美激情一区二区三区在线|