Condividi tramite


Pubblicazione di siti Web

Aggiornamento: novembre 2007

La pubblicazione di un sito Web in Visual Web Developer consiste nella compilazione del sito e nella copia dell'output in una posizione specificata, ad esempio un server di produzione. Durante la pubblicazione vengono effettuate le seguenti attività:

  • Precompilazione di pagine, codice sorgente nella cartella App_Code e così via, in output eseguibile.

  • Scrittura dell'output eseguibile in una cartella di destinazione.

Nota:

L'utilità Pubblica sito Web non è disponibile in Visual Web Developer Express Edition.

La pubblicazione di un sito Web offre i seguenti vantaggi rispetto alla semplice copia del sito Web in un server Web di destinazione:

  • Durante il processo di precompilazione vengono individuati gli eventuali errori di compilazione e vengono identificati gli errori nel file di configurazione.

  • La velocità di risposta iniziale per le singole pagine è più elevata, in quanto le pagine sono già compilate. Se le pagine vengono copiate in un sito senza precompilazione, verranno compilate alla prima richiesta e il relativo output compilato verrà inserito nella cache.

  • Con il sito non viene distribuito alcun tipo di codice del programma, il che rappresenta una misura di sicurezza per i file. È possibile pubblicare il sito con la protezione del markup, nel qual caso i file aspx vengono compilati, oppure senza protezione del markup, nel qual caso i file aspx vengono copiati nel sito così come sono ed è possibile modificarne il layout dopo la distribuzione.

    Nota:

    Se si pubblica un'applicazione che contiene un riferimento a un componente personalizzato registrato nella Global Assembly Cache, tale componente non verrà pubblicato con l'applicazione. Per ulteriori informazioni, vedere Procedura: aggiungere riferimenti a un componente .NET o COM in un sito Web.

Per ulteriori informazioni, vedere la classe Cenni preliminari sulla precompilazione in ASP.NET.

Precompilazione

Il primo passaggio della pubblicazione consiste nella precompilazione del sito Web. La precompilazione per la pubblicazione è diversa dalla precompilazione in loco (definita compilazione in Visual Web Developer). Durante la precompilazione viene eseguito essenzialmente lo stesso processo di compilazione che normalmente si verifica quando una pagina viene compilata dinamicamente dopo essere stata richiesta in un browser. Il precompilatore produce assembly dalle pagine, contenenti sia il markup sia il codice. Compila inoltre i file disponibili nelle cartelle App_Code, App_GlobalResources, App_LocalResources e App_Themes.

È possibile compilare sia pagine ASP.NET a file singolo sia pagine code-behind. Per ulteriori informazioni su questi due modelli, vedere Modello di codice di pagine Web ASP.NET.

Scelta tra precompilazione e compilazione

Il passaggio della precompilazione nella pubblicazione e la compilazione che si verifica quando si genera un sito Web durante il testing sono due operazioni distinte. Durante la generazione il sito (o la pagina corrente e eventuali file dipendenti) viene compilato e quindi eseguito. Il processo di compilazione è un tipo di test e non produce un output distribuibile. Con la precompilazione durante la pubblicazione viene invece creato un output in una cartella specificata che è possibile distribuire in un server di produzione.

Scrittura dell'output della precompilazione

Al termine del processo di precompilazione, l'output risultante viene scritto in una cartella specificata. È possibile scrivere l'output in qualsiasi cartella accessibile nel file system, utilizzando il protocollo FTP (File Transfer Protocol) o HTTP. Per scrivere sul sito di destinazione, è necessario disporre delle autorizzazioni appropriate.

Nota:

Con il processo di pubblicazione vengono distribuiti solo i file presenti nelle cartelle e nelle sottocartelle del sito Web. Il file Machine.config non viene distribuito. Pertanto, la configurazione del server Web di destinazione potrebbe essere differente da quella del computer locale, influendo sul comportamento dell'applicazione.

È possibile specificare una cartella di destinazione su un server di gestione temporanea o un server di produzione oppure è possibile scrivere l'output in una cartella del computer locale. Se si specifica una cartella su un server di produzione, è possibile eseguire la precompilazione e la distribuzione in un unico passaggio. Se si sceglie di scrivere l'output in una cartella che non fa parte di un sito Web, è possibile copiarlo sul server in un passaggio separato.

Nota:

Se si apre un sito Web precompilato utilizzando Visual Studio, non si sarà in grado di compilare il sito Web. Le opzioni di compilazione saranno disattivate. Si consiglia di modificare i file nel sito Web originale, quindi di precompilare il sito e di pubblicarlo nuovamente.

L'output del processo di compilazione comprende gli assembly compilati per eventuale codice o pagine. Se si sceglie l'opzione per consentire l'aggiornamento del sito precompilato, le eventuali classi code-behind per i file aspx, asmx e ashx verranno compilate in assembly. I file aspx, asmx e ashx verranno tuttavia copiati così come sono nella cartella di destinazione, quindi è possibile modificarne il layout dopo la distribuzione del sito. Per i siti precompilati che è possibile aggiornare, il codice delle pagine a file singolo non viene compilato in un assembly ma piuttosto distribuito come codice sorgente.

I file statici non vengono compilati ma vengono copiati così come sono nella cartella di output. I file statici includono grafica, file htm o html, file di testo e così via.

Se durante la precompilazione si verifica un errore, verrà segnalato nella finestra Output e nella finestra Elenco errori. Gli errori che si verificano durante la precompilazione impediscono la compilazione e la pubblicazione del sito.

Vedere anche

Attività

Procedura dettagliata: pubblicazione di un sito Web

Concetti

Copia di siti Web con lo strumento Copia sito Web