優化和緩沖存儲. 這是怎樣辦到的呢?
根據腳本的首次請求, runtime將代碼進行編譯,並將編譯結果進行高速緩沖存儲復制(備份). 不論何時,只要腳本有請求,被存儲的副本都可以調出使用. 此結果大大的增強了系統性能, 因為在首次請求之後,代碼能更快的從編譯版本中運行.
有人也許就會問了”它怎麼知道我什麼時候作了改動?” 微軟已對此作出解答.Runtime通過文件系統來監視源文件. 當初始源文件發生改變時,它自動將編譯版本從高速緩沖存儲備份中拖出,因此當下一個要求來臨時,它(編譯文件)會被重新編譯.這就意味著系統會自動編譯代碼, 程序員就再也用不著為人工編譯而頭疼了.
caching
對於多數的系統開發者而言,他們必須研制出一些“caching”來使系統速度加快。無論是ASP頁面輸出到Html文件格式,網絡聯結速度都非常慢。或是從緩慢的internet鏈接引用,到recordset的 狀態和漫游表單上的email表示符,甚至一個數據庫動態驅動菜單,實際上不是完全的動態驅動,你不能為你每個客戶請求而浪費大量時間。在創建網站時,一般來說,少量數據不會持續改變,但是正因為它們不是真正意義上的動態,不意味著使代碼復雜化,那麼它們在哪兒呢?所以,你得開發一些caching
基本的 caching 活動是首先甄選適當的數據進行存儲。然後你需要將它們放置在程序中的application級變量中。然後,識別代碼。然後,你就得決定得將數據存儲多久,並寫出程序,以便及時清空caching.但是,如果你清空了caching的話,那麼所使用的程序得具有使數據重新恢復的功能。
在ASP.Net中建立了CACHING系統。使得使得整個系統比以前更為面向對象,使得 caching系統也可以存儲 對象 。因此,無論何時caching,也可以隨時調用。你可以根據需要設置數據存儲的時間來決定創建各種類型的環境。 通過文件系統,你甚至可以在文件上鏈接一個詳細的項目,這樣當文件發生改變時,鏈接的項目就會同時被存儲。
還不僅限於此,ASP.Net也存儲輸出數據。 為ASP。NET腳本結果做一個備份,因此當別人調用它時,他甚至不用運行,正確的輸出結果就已在發送中。它主要基於查詢字符串來工作,如果參數不能與存儲中的參數相匹配,則記載參數的頁面會回轉到存儲版本中
一些時候,依據站點來判斷出什麼需被存儲是有一點技巧,但是至少現在不需要。
更快更簡便的開發
任何開發平台都會向你提供一個固態的環境. 在ASP裡,雖然這個環境的性能是優良的,但實際上它亳無用處.但是通過ASP.Net,在你書寫你的第一行代碼前,這個環已為您做足了准備工作。以前程序員為了設計完善的程序,而不得不做的重復的煩人的工作,現在這個環境已為你做完了.
面向對象模型
當你的代碼比以前任何時候都要運行得更快的時候,你已經得到一個真正的事件模型並可以對它進行控制。在過去,如果你希望某程序運行的早一些,你就不得不將程序放在頁面的前面,相反,則放在頁面的後部。這種方法往往不會起到很大的作用,所以你還得通過各種方法來構建你的代碼以獲得想要的效果. 這個“spaghett-code”問題能夠通過使用大量的事件來修正,例如 page_load
每個頁面級的對象都會有它們自己的事件模型,並且有能夠激活設計好的Server事件。類似於 Button_Click 或 Listbox_Change 的例行程序,能夠做出標准的表單處理,以及代你處理大量的相對簡單的日常工作。讀代碼也成為可能,如此就意味著即使某段程序在六個月後出現了問題,也可以發現你以前的設定,並及時進行調試。