Distribuzione di un'applicazione Web ASP.NET con SQL Server Compact con Visual Studio: Introduzione - 1 di 12
di Tom Dykstra
Scaricare il progetto iniziale
Questa serie di esercitazioni illustra come distribuire (pubblicare) un progetto di applicazione Web ASP.NET che include un database sql Server Compact usando Visual Studio 2012 RC o Visual Studio Express 2012 RC per Web. È anche possibile usare Visual Studio 2010 se si installa l'aggiornamento di pubblicazione Web.
Per un'esercitazione che illustra le funzionalità di distribuzione introdotte dopo la versione RC di Visual Studio 2012, illustra come distribuire edizioni di SQL Server diverse da SQL Server Compact e illustra come eseguire la distribuzione in app Azure Service App Web, vedere ASP.NET Distribuzione Web con Visual Studio.
Queste esercitazioni illustrano prima la distribuzione in IIS nel computer di sviluppo locale per il test e quindi in un provider di hosting di terze parti. L'applicazione che verrà distribuita usa un database dell'applicazione e un database di appartenenza ASP.NET. Si inizia a usare SQL Server Compact e distribuirlo in SQL Server Compact e le esercitazioni successive illustrano come distribuire le modifiche del database e come eseguire la migrazione a SQL Server.
Le esercitazioni presuppongono che si sappia come usare ASP.NET in Visual Studio. In caso contrario, un buon punto di partenza è un'esercitazione di base Web Forms ASP.NET o un'esercitazione di base ASP.NET MVC.
Se si hanno domande che non sono direttamente correlate all'esercitazione, è possibile pubblicarle nel forum sulla distribuzione di ASP.NET.
Panoramica
Queste esercitazioni illustrano prima la distribuzione in IIS nel computer di sviluppo locale per il test e quindi in un provider di hosting di terze parti. L'applicazione che verrà distribuita usa un database dell'applicazione e un database di appartenenza ASP.NET. Si inizia a usare SQL Server Compact e distribuirlo in SQL Server Compact e le esercitazioni successive illustrano come distribuire le modifiche del database e come eseguire la migrazione a SQL Server.
Il numero di esercitazioni , 11 in tutto e una pagina di risoluzione dei problemi, potrebbe rendere il processo di distribuzione apparentemente scoraggiante. Infatti, le procedure di base per la distribuzione di un sito costituiscono una parte relativamente piccola del set di esercitazioni. Tuttavia, in situazioni reali, spesso sono necessarie informazioni su alcune piccole ma importanti aspetti aggiuntivi della distribuzione, ad esempio l'impostazione delle autorizzazioni per le cartelle nel server di destinazione. Molte di queste tecniche aggiuntive sono state incluse nelle esercitazioni, con la speranza che le esercitazioni non escludono informazioni che potrebbero impedire la corretta distribuzione di un'applicazione reale.
Le esercitazioni sono progettate per l'esecuzione in sequenza e ogni parte si basa sulla parte precedente. Tuttavia, è possibile ignorare le parti che non sono rilevanti per la situazione. Per ignorare le parti potrebbe essere necessario modificare le procedure nelle esercitazioni successive.
Destinatari previsti
Le esercitazioni sono destinate a ASP.NET sviluppatori che lavorano in piccole organizzazioni o in altri ambienti in cui:
- Non viene usato un processo di integrazione continua (compilazioni e distribuzione automatizzate).
- L'ambiente di produzione è un provider di hosting di terze parti.
- Una persona occupa in genere più ruoli (la stessa persona sviluppa, testa e distribuisce).
Negli ambienti aziendali, è più tipico implementare processi di integrazione continua e l'ambiente di produzione è in genere ospitato dai server dell'azienda. Anche persone diverse svolgono in genere ruoli diversi. Per informazioni sulla distribuzione aziendale, vedere Distribuzione di applicazioni Web in scenari aziendali.
Le organizzazioni di tutte le dimensioni possono anche distribuire applicazioni Web in Azure e la maggior parte delle procedure illustrate in queste esercitazioni si applica anche a app Azure Services App Web. Per un'introduzione ad Azure, vedere https://azure.microsoft.com.
Provider di hosting illustrato nelle esercitazioni
Le esercitazioni illustrano il processo di configurazione di un account con una società di hosting e la distribuzione dell'applicazione in tale provider di hosting. È stata scelta una società di hosting specifica in modo che le esercitazioni possano illustrare l'esperienza completa di distribuzione in un sito Web live. Ogni azienda di hosting offre funzionalità diverse e l'esperienza di distribuzione nei server varia in qualche modo; Tuttavia, il processo descritto in questa esercitazione è tipico per il processo complessivo.
Il provider di hosting usato per questa esercitazione, Cytanium.com, è uno dei molti disponibili e l'uso in questa esercitazione non costituisce un'approvazione o una raccomandazione.
Distribuzione di progetti di siti Web
Contoso University è un progetto di applicazione Web di Visual Studio. La maggior parte dei metodi e degli strumenti di distribuzione illustrati in questa esercitazione non si applica ai progetti di siti Web. Per informazioni su come distribuire progetti di siti Web, vedere ASP.NET Mappa contenuto distribuzione.
Distribuzione di progetti MVC ASP.NET
Per questa esercitazione si distribuisce un progetto Web Forms ASP.NET, ma tutto ciò che si apprenderà come eseguire è applicabile anche a ASP.NET MVC. Un progetto MVC di Visual Studio è solo un altro tipo di progetto di applicazione Web. L'unica differenza è che se si esegue la distribuzione in un provider di hosting che non supporta ASP.NET MVC o la versione di destinazione, è necessario assicurarsi di aver installato il pacchetto NuGet appropriato (MVC 3 o MVC 4) nel progetto.
Linguaggio di programmazione
L'applicazione di esempio usa C#, ma le esercitazioni non richiedono conoscenza di C# e le tecniche di distribuzione illustrate dalle esercitazioni non sono specifiche del linguaggio.
Risoluzione dei problemi durante questa esercitazione
Quando si verifica un errore durante la distribuzione o se il sito distribuito non viene eseguito correttamente, i messaggi di errore non forniscono sempre una soluzione. Per semplificare alcuni scenari di problemi comuni, è disponibile una pagina di riferimento per la risoluzione dei problemi. Se viene visualizzato un messaggio di errore o qualcosa non funziona durante le esercitazioni, assicurarsi di controllare la pagina di risoluzione dei problemi.
Commenti benvenuti
I commenti sulle esercitazioni sono benvenuti e quando l'esercitazione viene aggiornata ogni sforzo verrà eseguita per tenere conto delle correzioni o dei suggerimenti per i miglioramenti forniti nei commenti dell'esercitazione.
Prerequisiti
Prima di iniziare, assicurarsi di disporre di Windows 7 o versione successiva e di uno dei seguenti prodotti installati nel computer:
- Visual Studio 2010 SP1
- Visual Web Developer Express 2010 SP1
- Visual Studio 2012 RC o Visual Studio Express 2012 RC per Web
Se si dispone di Visual Studio 2010 SP1 o Visual Web Developer Express 2010 SP1, installare anche i prodotti seguenti:
- Azure SDK per .NET (VS 2010 SP1) (include l'aggiornamento della pubblicazione Web)
- Strumenti di Microsoft Visual Studio 2010 SP1 per SQL Server Compact 4.0
Per completare l'esercitazione è necessario un altro software, ma non è necessario che sia ancora caricato. L'esercitazione illustra i passaggi per installarlo quando necessario.
Download dell'applicazione di esempio
L'applicazione che verrà distribuita è denominata Contoso University ed è già stata creata automaticamente. Si tratta di una versione semplificata di un sito Web universitario, basata in modo libero sull'applicazione Contoso University descritta nelle esercitazioni di Entity Framework sul sito ASP.NET.
Dopo aver installato i prerequisiti, scaricare l'applicazione Web Contoso University. Il file .zip contiene più versioni del progetto e un file PDF che contiene tutte le 12 esercitazioni. Per eseguire i passaggi dell'esercitazione, iniziare con ContosoUniversity-Begin. Per visualizzare l'aspetto del progetto alla fine delle esercitazioni, aprire ContosoUniversity-End. Per visualizzare l'aspetto del progetto prima della migrazione a SQL Server completo nell'esercitazione 10, aprire ContosoUniversity-AfterTutorial09.
Per prepararsi a eseguire i passaggi dell'esercitazione, salvare ContosoUniversity-Begin in qualsiasi cartella usata per l'uso dei progetti di Visual Studio. Per impostazione predefinita, questa è la cartella seguente:
C:\Users\<username>\Documents\Visual Studio 2012\Projects
Per le schermate di questa esercitazione, la cartella del progetto si trova nella directory radice dell'unità C
: .
Avviare Visual Studio, aprire il progetto e premere CTRL+F5 per eseguirlo.
Le pagine del sito Web sono accessibili dalla barra dei menu e consentono di eseguire le funzioni seguenti:
- Visualizzare le statistiche degli studenti (pagina Informazioni).
- Visualizzare, modificare, eliminare e aggiungere studenti.
- Visualizzare e modificare i corsi.
- Visualizzare e modificare gli insegnanti.
- Visualizzare e modificare i reparti.
Di seguito sono riportate le schermate di alcune pagine rappresentative.
Revisione delle funzionalità dell'applicazione che influiscono sulla distribuzione
Le funzionalità seguenti dell'applicazione influiscono sulla modalità di distribuzione o sulle operazioni da eseguire per distribuirla. Ognuna di queste è illustrata in modo più dettagliato nelle esercitazioni seguenti della serie.
- Contoso University usa un database di SQL Server Compact per archiviare i dati dell'applicazione, ad esempio i nomi degli studenti e degli insegnanti. Il database contiene una combinazione di dati di test e dati di produzione e quando si esegue la distribuzione nell'ambiente di produzione è necessario escludere i dati di test. Più avanti nella serie di esercitazioni si eseguirà la migrazione da SQL Server Compact a SQL Server.
- L'applicazione usa il sistema di appartenenza ASP.NET, che archivia le informazioni sull'account utente in un database di SQL Server Compact. L'applicazione definisce un utente amministratore che può accedere ad alcune informazioni limitate. È necessario distribuire il database di appartenenza senza account di test, ma con un account amministratore.
- Poiché il database dell'applicazione e il database di appartenenza usano SQL Server Compact come motore di database, è necessario distribuire il motore di database nel provider di hosting, nonché i database stessi.
- L'applicazione usa ASP.NET provider di appartenenze universali in modo che il sistema di appartenenza possa archiviare i dati in un database di SQL Server Compact. L'assembly che contiene i provider di appartenenze universali deve essere distribuito con l'applicazione.
- L'applicazione usa Entity Framework 5.0 per accedere ai dati nel database dell'applicazione. L'assembly che contiene Entity Framework 5.0 deve essere distribuito con l'applicazione.
- L'applicazione usa un'utilità di registrazione e segnalazione degli errori di terze parti. Questa utilità viene fornita in un assembly che deve essere distribuito con l'applicazione.
- L'utilità di registrazione degli errori scrive le informazioni sugli errori nei file XML in una cartella di file. È necessario assicurarsi che l'account in cui ASP.NET venga eseguito nel sito distribuito abbia l'autorizzazione di scrittura per questa cartella ed è necessario escludere questa cartella dalla distribuzione. In caso contrario, è possibile che i dati del log degli errori dell'ambiente di test vengano distribuiti nei file di produzione e/o di log degli errori di produzione.
- L'applicazione include alcune impostazioni che devono essere modificate nel file Web.config distribuito a seconda dell'ambiente di destinazione (test o produzione) e di altre impostazioni che devono essere modificate a seconda della configurazione di compilazione (Debug o Versione).
- La soluzione Visual Studio include un progetto di libreria di classi. Deve essere distribuito solo l'assembly generato da questo progetto, non il progetto stesso.
In questa prima esercitazione della serie è stato scaricato il progetto di Visual Studio di esempio e sono state esaminate le funzionalità del sito che influiscono sulla modalità di distribuzione dell'applicazione. Nelle esercitazioni seguenti si prepara per la distribuzione configurando alcuni di questi elementi da gestire automaticamente. Altri si occupano manualmente.