2009-09-21 26 views
17

Se si precompila un sito Web e lo si mantiene aggiornabile, il parser ASP.NET può vedere dalla direttiva Page che non esiste alcun file di codice o codebehind e dove trovare la classe di base (attributo inherits).Qual è lo scopo di precompiledApp.config?

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

Se il sito è precompilato e non aggiornabile, i file .compiled nella cartella bin dovrebbe dare il runtime ASP.NET tutte le informazioni necesary su come istanziare le classi di pagina.

Quindi perché è necessario precompiledApp.config ?

Grazie!

risposta

12

Viene utilizzato per indicare se le pagine ASPX/ASCX nel proprio sito sono aggiornabili o meno. Puoi precompilare e compilare il codice, ma lasciare queste pagine aggiornabili in modo da poter apportare piccole modifiche alla GUI se lo desideri.

+0

Capisco il concetto di precompilazione e l'opzione aggiornabile. Ma perché è necessario il file precompiledApp.config? –

+3

Poiché ASP.NET proverà a compilare tutti i file (compresi i code-behind) nella directory di una richiesta di pagina .ASPX insieme a App_Code e sui file contrassegnati per essere compilati se non trova questo file. Se trova un file .precompiledApp.config, verrà esaminato e determinerà se compilare o meno i file ASPX poiché potrebbe essere possibile aggiornarli. –

+1

Sulla base di alcuni esperimenti, credo che il file non serva a nulla. È possibile precompilare un sito, consentirne l'aggiornamento e quindi sostituire una pagina con l'originale, incluso il relativo file di codice ed entrambi verranno compilati. PrecompiledApp.config non determina se le pagine sono compilate o meno, questo sembra essere determinato solo in base alla direttiva di pagina. Può differire quando aggiornabile è falso, ma non l'ho provato. –