2009-03-14 17 views

risposta

9

Ecco un sito che mostra tecniche diverse su come eseguire questa operazione. Ci sono molte tecniche che possono essere utilizzate come una strategia di distribuzione per l'applicazione Web .:

Beansoftware How to Deploy ASP.NET Web Application

+2

Le informazioni contenute in questo articolo è un po 'datato ora. Controlla http://weblogs.asp.net/scottgu/archive/2010/07/29/vs-2010-web-deployment.aspx per le opzioni di VS2010. –

8

Alt + B + H combinazione (si apre la finestra per ASP.NET sito web/applicazione pubblicare) è la il modo più semplice per distribuire un'applicazione nella posizione richiesta.

Pubblica utilizzato per la compilazione e la distribuzione dell'applicazione sul server.

6

Bene, dipende da cosa si sta tentando di ottenere dal punto di vista di disponibilità/disponibilità. Le opzioni publish/xcopy/installer sono interessanti ma trascurano tutti di affrontare il problema che ci vuole del tempo per completare queste opzioni. Dal momento in cui il primo file viene copiato nella directory fino al momento in cui l'ultimo file viene copiato nel sito si trova in uno stato incoerente.

I file ASPX possono fare riferimento a oggetti del livello dati che non sono ancora nella directory bin oppure la directory bin può avere una DLL con un set di parametri modificato su una funzione, ma l'aspx non è stato installato ancora, quindi l'aspx sta ancora cercando la vecchia funzione. In breve, perché la distribuzione non è un processo atomico è possibile/avrà problemi.

Abbiamo risolto questo problema installando i nuovi file in una nuova directory, quindi andando in IIS e modificando il sito Web in modo che punti alla nuova directory. Questo rende il cambiamento un processo atomico e rende le cose molto più semplici. È perfetto? No. È possibile avere problemi di visualizzazione o di sessione (la sessione viene mantenuta, ma forse il nuovo codice cerca qualcosa in sessione che il vecchio codice non ha impostato) ma rende il processo ancora più agevole.

Naturalmente nessuna di queste soluzioni risolve l'altra parte non atomica dell'aggiornamento del sito Web ... il database. Ancora una volta, il processo di modifica dello schema DB richiede tempo. Aggiorna prima il codice o prima il database? Il DB può cambiare il lavoro senza la modifica del codice (una nuova colonna che supporta null o ha un valore predefinito) o il codice può funzionare senza la modifica del DB (rimuovendo una colonna)? Questa è un'analisi caso per caso, e non viene affrontata da nessuna di queste soluzioni

Ovviamente, se puoi eliminare i tuoi utenti dal sito per un periodo di tempo, la vita è più facile, ma se sei cercando di ottenere il 100% di uptime quindi non è così semplice.

0

A volte non è pratico impostare Web Publish sul target desiderato. In questo caso potresti essere ancora in grado di pubblicare sul tuo computer locale (come descritto di seguito) e quindi distribuire XCOPY sul tuo target.

  1. In IIS Siti destro del mouse e fare clic su Aggiungi sito
  2. impostare un nuovo sito web, come illustrato e fare clic su OK enter image description here
  3. In Visual Studio (in esecuzione con privilegi di amministratore), fare clic destro ASP Progetto Web .NET, selezionare Pubblica ...
  4. Fare clic sull'intestazione Profilo e dal menu a discesa selezionare Nuovo profilo personalizzato ...
  5. Inserire un nome di profilo come "localhost44321", impostare il profilo come indicato e fare clic su Pubblica enter image description here
Problemi correlati