Solo quello che ti interessa | WEB PROJECT E WEB SITE Copyright admin [email protected] http://www.belloma.it/web-project/ WEB PROJECT E WEB SITE Siti web Creare siti web senza alcun file di progetto ha il vantaggio di essere semplice e diretto. Quando si crea un sito web, non è necessario distribuire i file di supporto aggiuntivi. Tutti i file nella cartella web viene automaticamente considerato parte dell'applicazione web (ogni pagina web in una directory virtuale è indipendentemente accessibile, anche se non lo si considera una parte ufficiale del progetto), Lo sviluppo Projectless (senza progetto) rimane popolare per i seguenti motivi: - Semplifica la distribuzione. E' sufficiente copiare tutti i file della web site directory nel web server: non ci sono progetti o file di debug da evitare. - Semplifica la gestione dei file. Se si desidera rimuovere una pagina Web, è sufficiente eliminare i file associati. Se si desidera aggiungere un nuova pagina o spostare una pagina da un sito all'altro, è sufficiente copiare i file, non c'è bisogno di passare attraverso Visual Studio. È possibile avere anche pagine generati da altri strumenti, perché non ci sono file di progetto da mantenere. - Semplifica la collaborazione in team: persone diverse possono lavorare in modo indipendente su diverse pagine web, senza bisogno di bloccare i file di progetto. - Semplifica il debug. Quando si crea un progetto Web, è necessario ricompilare l'intera applicazione quando si modifica una singola pagina. Con lo sviluppo projectless, invece, ogni pagina è compilata separatamente, e la pagina viene compilata solo quando ne facciano richiesta per la prima volta. - Permette di avere nello stesso sito pagine in linguaggi diversi. Perché ogni pagina Web viene compilato separatamente, siamo liberi di codificare le pagine in diverse linguaggi. In un progetto web, invece, tutto deve essere scritto nello stesso linguaggio. Progetti Web Quando si crea un progetto web, Visual Studio genera un certo numero di file aggiuntivi, compreso il .csproj, il file di progetto .csproj.user e un file .sln (soluzione). Quando si genera l'applicazione, Visual Studio genera file temporanei, in Obj sottodirectory, e uno o più file .pdb (nella sottodirectory Bin) con i simboli di debug. Nessuno di questi file deve essere distribuito al server web quando l'applicazione viene completata. Inoltre, nessuno dei file di codice sorgente C # (file con estensione .cs) deve essere distribuito, perché Visual Studio li precompila in un assembly DLL. page 1 / 3 Solo quello che ti interessa | WEB PROJECT E WEB SITE Copyright admin [email protected] http://www.belloma.it/web-project/ Le pagine dei progetti non hanno bisogno di essere compilate per la prima volta se richieste. Inoltre i porgetti permettono anche anche di evitare di distribuire il codice nel server web. Vatagg dello sviluppo di progettii: - E' una modalità di sviluppo più rigorosa. Nel file di progetto sono elencati in modo esplicito tutti i file che devono far parte del progetto. Ciò consente di catturare più facilmente gli errori (come ad esempio file mancanti) e evitare atti di sabotaggio, anche intenzionali (ad esempio i file indesiderati aggiunti da un utente malintenzionato). - Consente una gestione di file più flessibile. Progetti diversi possono far parte della stessa applicazione (non su Visual Studio Express) Non c'è un approccio migliore dell'altro. Entrambi espongono le stesse caratteristiche e prestazioni. Microsoft suggerisce di usare il metodo più semplice, cioè quello del sito web se non ci sono motivi particolari che possano suggerire l'utilizzo di un porgetto web. Ad esempio, se si vogliono costruire più progetti nella stessa applicazione è evidente la necessità di usao di progetto web. Creare un Progetto Web Per creare un progetto web, scegliete File-->Nuovo Progetto (la finestra è molto simile alla finestra di dialogo Nuovo sito Web). Durante la creazione di un progetto web, si fornisce un percorso, che può essere un percorso di file o un URL che punta a un server IIS locale o remoto . È possibile modificare la versione di. NET Framework da utilizare nel progetto (come nel caso alla creazione di un sito web projectless). Sebbene i progetti web e siti web projectless hanno lo stesso risultato finale una volta che sono distribuiti, ci sono alcune differenze nel modo in cui questi sono strutturati: page 2 / 3 Solo quello che ti interessa | WEB PROJECT E WEB SITE Copyright admin [email protected] http://www.belloma.it/web-project/ - Compilazione. I progetti web vengono compilati da Visual Studio quando vengono eseguiti (non da ASP.NET) . Le classi di pagine web vengono combinati in un unico assembly che ha il nome del progetto web (come WebApplication1.dll), che viene poi inserito nella cartella Bin. - Code-behind: Le pagine in un progetto web devono sempre utilizzare il modello code-behind. Viene incluso includono un file in più con l'estensione .aspx.designer.cs, che include le dichiarazioni di tutti i controlli sulla pagina web. Questo significa che se si creare una pagina denominata Default.aspx, avremo in più una classe code-behind Default.aspx.designer.cs. In fase di compilazione, questi due file verranno fusi. In un sito projectless, non si vedrà mai un file con le dichiarazioni di controllo, perché questa parte del codice viene generato in fase di compilazione di ASP.NET. - La direttiva della pagina: Le pagine web di un progetto web, utilizzano una direttiva di pagina leggermente diversa. Invece di utilizzare l'attributo CodeFile per indicare il file che presenta il codice sorgente, utilizzare l'attributo CodeBehind. Questa differenza è dovuta al fatto che è Visual Studio ad eseguire la compilazione, invece di ASP.NET. ASP.NET controlla l'attributo CodeFile, ma Visual Studio utilizza l'attributo CodeBehind. - Assembly reference. In un sito projectless, tutti i riferimenti sono registrati nel file web.config, in modo da ASP.NET possono utilizzarli per la risoluzione dei riferimenti in fase di compilazione. I riferimenti agli assembly in un progetto web sono memorizzate nel file di progetto, che Visual Studio utilizza quando compila il codice. Le uniche eccezioni sono i riferimenti alla System.Core.dll e Assemblee System.Web.Extensions.dll, che contengono tutte le caratteristiche specifiche di .NET 3.5. Questi riferimenti sono definiti nel file web.config. page 3 / 3