Precompilare il sito

di: Angelo Ranucci     30 Maggio 2006

In ASP.NET si può portare un sito on line caricando i soli file sorgenti sul server che lo ospita. Se i file hanno subito modifiche Il Framework .NET presente sul server li ricompila alla prima richiesta da parte di un utente.

Questo processo è molto comodo, in quanto evita di compilare a mano, ogni volta, i file modificati. Tuttavia, in determinate situazioni, può essere conveniente compilare il sito in locale e poi portarlo on line già compilato.Precompilare il sito e portarlo in produzione o ,come si sul dire in inglese, fare un deploy, porta ad una serie di vantaggi.

  • Il vantaggio più rilevante consiste in una maggiore protezione del codice sorgente, che, in questo modo, può essere tenuto segreto.
  • Inoltre si evita di far compiere il lavoro al server, che non ha la necessità di compilare il sito al primo accesso. Quindi il primo accesso diventa veloce come tutti gli altri.
  • La compilazione in locale, inoltre, porta a scoprire eventuali bug prima che l'applicazione venga portata in ambiente di produzione.

Nelle versioni precedenti alla 2.0, ASP.NET necessitava il deploy dei file .aspx cioè dei file contenenti l'interfaccia utente, mentre i file con il codice della logica di funzionamento venivano compilati nella cartella bin. L'interfaccia utente, quindi, rimaneva comunque visibile.

Con ASP.NET 2.0 si può precompilare l'applicazione web in modo da non mettere sul server nè i sorgenti .aspx nè il codice. Naturalmente, tutto il codice lato client rimane comunque visibile.

Prima dell'avvento di ASP.NET 2.0, con le versioni ASP.NET 1.x, si poteva già precompilare un sito. In ASP.NET 1.x, bisognava eseguire l'handler precompile.axd digitando sul browser:

http://localhost/nome_directory_virtuale/precompile.axd

ciò, dopo aver inserito nel Web.Config o nel machine.config una sezione <httpHandlers> contenente:

<add verb="*" path="precompile.axd" type="System.Web.Handlers.BatchHandler"/>

aspnet_compiler

In ASP.NET 2.0 si può invece utilizzare l'utility aspnet_compiler. Per ottenere l'help di aspnet_compiler si può digitare a riga di comando:

Richiamare l'help di aspnet_compiler

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_compiler -?

In sintesi, le opzioni di sintassi più importanti dell'utility aspnet_compiler sono le seguenti:

Sintassi di aspnet_compiler

aspnet_compiler [-?] [-m metabasePath | -v virtualPath [-p physicalDir]] [[-u] [-f]  targetDir]

  • -? serve ad ottenere l'help
  • -m metabasePath specifica il metabase path dell'applicazione da compilare; ad esempio il metabase path del sito di default di IIS è: LM/W3SVC/1/ROOT; questa opzione non può essere usata insieme a -v e -p.
  • -v virtualPath specifica il percorso virtuale dell'applicazione da compilare, ad esempio: /nome_directory_virtuale
  • -p phisicalPath specifica il percorso fisico dell'applicazione da compilare, ad esempio: D:\Documenti\Web\SitoDaCompilare
  • [-u] specifica che l'applicazione può essere aggiornata
  • targetDir  è il percorso fisico della directory in cui viene messa l'applicazione compilata; se non è specificata, l'applicazione viene compilata in loco, cioè nella stessa directory del sorgente
  • [-f] specifica che la targetDir può essere sovrascritta se già esistente

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto