Distribuisci un'applicazione Web ASP.NET usando la distribuzione Xcopy

Questo articolo descrive come utilizzare il comando MS-DOS Xcopy per distribuire un'applicazione Web Microsoft ASP.NET.

Versione originale del prodotto: ASP.NET
Numero KB originale: 326355

Riepilogo

La distribuzione in stile Xcopy non è adatta a tutte le situazioni. Per i siti Web di grandi dimensioni e per le applicazioni line-of-business, è consigliabile mettere il sito temporaneamente offline. È opportuno farlo mentre il nuovo contenuto e gli assiemi dell'applicazione vengono distribuiti. È possibile eseguire questa manutenzione in un momento conveniente e programmato. Per ridurre al minimo i tempi di inattività programmati, attenersi alla seguente procedura:

  1. Crea una nuova directory fisica per l'applicazione che desideri aggiornare. Copia tutto il nuovo contenuto nella nuova directory fisica.

  2. Riconfigurare la directory virtuale in modo che l'applicazione punti alla nuova directory fisica con il nuovo contenuto.

    Nota

    Quando si distribuisce nuovo contenuto in un'applicazione Web ASP.NET, l'applicazione potrebbe riavviarsi. Se si dispone di applicazioni di grandi dimensioni e applicazioni complesse con requisiti di memoria significativi, il consumo di memoria potrebbe aumentare. Quando si riavvia l'applicazione, potrebbero verificarsi problemi di supporto. Ciò include la perdita dello stato della sessione utente.

Che cos'è la distribuzione Xcopy

La distribuzione Xcopy descrive la distribuzione in ASP.NET in cui si utilizza la funzione di trascinamento della selezione di Esplora risorse di Microsoft, il protocollo di trasferimento file (FTP) o il comando DOS Xcopy per copiare i file da una posizione a un'altra. L'applicazione ASP.NET non richiede modifiche al registro e non ha particolari requisiti di installazione per l'azienda ospitante sui siti ospitati.

I vantaggi della distribuzione Xcopy

Un trasferimento di file in stile Xcopy semplifica la distribuzione e la manutenzione dei siti ASP.NET perché non si effettuano voci di registro e perché non si registrano componenti. Le applicazioni Microsoft .NET sono autodescrittive, in genere senza dipendenze. Con il controllo delle versioni dell'assembly, puoi persino copiare una nuova copia di una libreria a collegamento dinamico (DLL) utilizzata dall'applicazione senza arrestare il server Web.

Le differenze tra distribuzione Xcopy e copia progetto in Visual Studio .NET

La distribuzione Xcopy non richiede l'installazione di alcun software speciale sul computer di sviluppo o sul server Web. Il metodo Copia progetto di Visual Studio .NET richiede l'installazione di Microsoft FrontPage Server Extensions (FPSE) sul server remoto. Xcopy consente inoltre di sostituire solo i file modificati più di recente. È possibile selezionare manualmente i file per sostituirli, oppure utilizzare l'interruttore /d del comando Xcopy per specificare la data, come segue:

xcopy source [destination] /D:m-d-y

Impostare la directory virtuale come applicazione IIS

Se non hai già configurato la directory di destinazione, devi configurarla come applicazione in Microsoft Internet Information Services (IIS) prima di trasferire i file. Per configurare la directory virtuale, attenersi alla seguente procedura:

  1. Fare clic su Start, selezionare Programmi, selezionare Strumenti di amministrazione, quindi fare clic su Gestore servizi Internet.
  2. Nel riquadro di sinistra, fai clic con il pulsante destro del mouse sul nome della tua directory virtuale, quindi fai clic su Proprietà.
  3. Assicurarsi che il nome del sito Web o il nome della directory virtuale sia elencato nella casella Nome applicazione sotto Impostazioni applicazione. In caso contrario, fai clic su Crea.

Risoluzione dei problemi

In alcuni casi, non è possibile completare la distribuzione dell'applicazione Web ASP.NET tramite il solo trasferimento di file Xcopy. Questi casi includono i seguenti:

  • Gli assembly che devono essere installati in Global Assembly Cache (GAC). Se si desidera condividere gli assembly utilizzati da ASP.NET su più domini applicativi, è necessario utilizzare l'utility Gacutil.exe per registrare tali assembly in GAC. È necessario annullare la registrazione, sostituire e registrare nuovamente gli assembly ogni volta che si distribuisce l'applicazione.

  • Interoperabilità COM (Component Object Model). Se l'applicazione ASP.NET utilizza componenti COM tramite COM interop, è necessario registrare tali componenti COM con servizi COM+.

  • Componenti revisionati. Microsoft consiglia di utilizzare l'utility Regsvcs.exe per registrare le classi che utilizzano servizi COM+ (che derivano dalla classe System.EnterpriseServices.ServicedComponent).

Riferimenti