2009-09-21 389 views
17

如果你預編譯一個網站並保持它可以更新,那麼ASP.NET解析器可以從Page指令看到沒有代碼文件或代碼隱藏以及在哪裏可以找到基類(繼承屬性)。precompiledApp.config的用途是什麼?

<%@ page language="C#" autoeventwireup="true" inherits="_Default, Precompiled" 
    theme="Default" validaterequest="false" %> 

如果該網站是預編譯的,而不是更新的,在bin文件夾中的文件.compiled應該給ASP.NET運行時如何實例化頁面類的所有necesary信息。

那麼爲什麼precompiledApp.config 需要

謝謝!

回答

12

它用於指示您的站點中的ASPX/ASCX頁面是否可更新。您可以預編譯並將代碼放在編譯後面,但可以將這些頁面更新爲可更新的,以便您可以根據需要進行較小的與GUI相關的調整。

+0

我理解預編譯和可更新選項的概念。但爲什麼需要precompiledApp.config文件? –

+3

因爲默認情況下,ASP.NET會嘗試編譯.ASPX頁面請求的目錄中的所有文件(包括代碼隱藏)以及App_Code,如果未找到此文件,則會標記爲要構建的文件。如果它找到.precompiledApp.config文件,它會查看它並確定是否仍然編譯ASPX文件,因爲它們可以被更新。 –

+1

基於一些實驗,我認爲該文件沒有任何用處。你可以預編譯一個站點,允許它是可更新的,然後用包含它的代碼文件的原始文件替換一個頁面,這兩個頁面都將被編譯。預編譯的App.config不確定是否編譯頁面,這似乎只能根據頁面指令確定。 可更新時可能會有所不同,但我沒有測試過。 –