vs2003與vs2005編譯區別

2021-04-13 06:10:31 字數 2407 閱讀 2142

雖然這種模型有優點,但它也有兩個主要缺點。首先,aspx 頁必須要以人們可以閱讀的形式部署到 web 站點。如果開發人員使用**內聯 模型,這意味著,一些(或所有)的業務邏輯也可以部署在生產伺服器上。雖然沒有將 iis 和 asp.net 配置為公開原始的 aspx 頁,但聰明的攻擊者仍可以通過任何攻擊(該攻擊開啟到 web 伺服器的通道)來訪問這些檔案。其次,第一次有人請求某 web 頁時,響應速度將比正常速度慢一些,原因在於 asp.net 執行庫必須編譯 aspx 頁。

這整個過程中,開發人員擁有的唯一控制權是決定是否批編譯 aspx 頁。在 asp.net 1.x 中,可以通過修改 標記在 web.config 檔案中配置批編譯。

清單 4. 配置批編譯

批編譯用啟動時間換取減少第一次請求 web 頁的載入時間。批編譯的另乙個好處是所有的 aspx 檔案都編譯到乙個臨時程式集中,而不是一頁乙個臨時程式集。

asp.net 2.0 中的編譯

asp.net 2.0 為 web 應用程式提供三種不同的編譯模型:

普通 (asp.net 1.x) — 在乙個普通的 asp.net web 應用程式中,**隱藏檔案被編譯到乙個程式集並儲存在 /bin 目錄中。根據要求編譯 web 頁 (aspx)。該模型對大多數 web 站點都執行得不錯。但是,編譯過程使得第一次請求 asp.net 頁時的速度比隨後的請求速度緩慢。asp.net 2.0 繼續支援這種編譯模型。

部署預編譯 — asp.net 2.0 的一種新功能,允許在部署前對專案進行完整編譯。在完整編譯中,所有的**隱藏檔案、aspx 頁面、html、圖形資源以及其他的後端**都被編譯到乙個或多個可執行程式集中,這取決於應用程式的大小和編譯設定。這些程式集包含所有的已編譯 web 站點**,而資源檔案和配置檔案被複製,沒有做修改。這種編譯方法以犧牲修改部署後 web 站點的能力為代價,提供了最好的效能和安全性。如果您使用高可見或高安全的 web 站點,這種選項是最終部署的最好選擇。但是,如果您正在構建乙個執行區域性 intranet 的小站點,並且更改站點非常頻繁,那麼完整預編譯可能有點過分。

asp.net 2.0 編譯模型也允許預編譯應用程式的所有**隱藏檔案並且仍可以更新**。可以將**隱藏檔案和原始的 .aspx 檔案(都是區域性類)編譯到乙個預編譯類中(頁面的基類)。如果選擇在執行時編輯 .aspx 檔案,只需重新編譯頁面即可。

批編譯在 asp.net 2.0 中,可以利用單個 url 請求來批編譯任何應用程式。如同 asp.net 1.x 一樣,批編譯消除了第一次頁面請求的延時,但造成了更長的啟動週期。另外,批編譯還要求在部署前編譯**隱藏檔案。

web.config 批編譯設定在 asp.net 2.0 中仍起作用。批編譯的優點是,第乙個使用者可以立即使用頁面,而且在批編譯期間可以檢測到 aspx 頁中的任何錯誤。但是,批編譯的確增加了應用程式啟動的延時,並且必須要內建在 web.config 檔案中。應當注意,如果某個檔案出現了問題,則該批將不會接收它。

部署預編譯

部署預編譯允許建立乙個或多個程式集,這些程式集是 web 站點的可執行版本。所獲得的程式集包含 web 站點的已編譯**。html 頁面、資源、配置檔案和 aspx 頁面被單獨複製。

部署預編譯要求使用乙個稱為 aspnet_compiler.exe 的命令列實用程式。該實用程式建立乙個目標部署目錄,該目錄包含乙個含有程式集的 /bin 目錄和各種 aspx 頁的 stub 檔案。該實用程式還用來在原地進行預編譯,類似於呼叫"魔術頁"的行為。stub 檔案共享 aspx 頁的名稱,但是包含呼叫已編譯程式集的簡單**。換句話說,aspx 頁只是空殼而不是填滿的功能頁。

通過為部署預編譯 web 站點,您可以獲得增強的安全性,因為只有進行反編譯程式集才能訪問您的**。為了增強保護,可以弄亂所得到的程式集,使您的 web 應用程式更加安全。部署預編譯的主要缺點是,在部署前必須執行這些步驟,並且在部署後不能更改 web 站點。如果想進行更改,就必須重新編譯該 web 站點並重新部署它。

對於大多數主要的 web 應用程式,部署預編譯選項將是部署的首選機制,因為它減少了在 web 伺服器上部署的原始**數量,並提供了最佳的安全性。這個增加的程序可以內置於通常的開發/測試/部署週期中,而工作效率並不會有多大損失。

該選項最適合於不需要大量支援**(以**隱藏檔案的形式或外部物件的形式)的 asp.net 應用程式。對於乙個簡單的應用程式,與更為健壯的編譯方法相比,快速部署和測試系統的功能提供了幾個優點。

128 元

泰國原單進口女包★皇家之翼★瑞麗熱賣

vs2003與vs2005編譯區別

由於 asp.net 1.x 中引入了頁模型,asp.net web 頁的編譯過程總是分成兩個階段。首先,隱藏檔案和其他支援類編譯到乙個程式集中,然後在執行時編譯單獨的 aspx 檔案。雖然這種模型具有許多優點,但它也有一些缺點。asp.net 2.0 提供基本模型的幾種替代模型,並根據您的特定需要...

vs2003與vs2005編譯區別

由於 asp.net 1.x 中引入了頁模型,asp.net web 頁的編譯過程總是分成兩個階段。首先,隱藏檔案和其他支援類編譯到乙個程式集中,然後在執行時編譯單獨的 aspx 檔案。雖然這種模型具有許多優點,但它也有一些缺點。asp.net 2.0 提供基本模型的幾種替代模型,並根據您的特定需要...

VS2003與VS2005關邊後台程式碼的區別

1 vs2003關連後台程式碼 page language c codebehind wot130.aspx.cs validaterequest false autoeventwireup false inherits frmwot130.wot130 其中 codebehind wot130.a...