2009-08-24 7 views
5

In VS2008 qual è la differenza tra il sito Web e l'applicazione Web? E ci sono vantaggi nell'usare l'uno o l'altro?In VS2008 qual è la differenza tra il sito Web e l'applicazione Web?

+0

Exact Duplicate: http://stackoverflow.com/questions/237664/web-site-vs-asp-net-web-application-in-visual-studio –

+0

Grazie Justin ... Credo che avrei dovuto fare prima una ricerca . – Brad

+2

è un dupe "vago" ma mi piacciono le risposte su questo thread e quindi ti preghiamo di tenere aperto questo thread. – djangofan

risposta

14

Prima di parlare dei pro e contro, dovresti sapere la differenza fondamentale su come funziona.

I progetti di siti Web utilizzano un approccio di compilazione just in time che compila dinamicamente l'aspx e il file correlato quando la pagina viene effettivamente visitata. L'assembly compilato viene quindi inserito nella cartella bin con un nome di dll generato casualmente.

Applicazione Web, d'altra parte, compila la pagina in una dll denominata nel momento in cui si sviluppa il progetto. Senza questa compilation il sito non sarà nemmeno distribuire nel server (come non esiste un meccanismo automatico di compilazione)

Così i pro ei contro:

  1. sorgente del progetto del sito web sono dinamici, non è necessario è necessario passare attraverso la macchina di sviluppo per modificare qualcosa (approccio rischioso), tutto viene compilato just in time
  2. Detto questo è conveniente, ha anche una leggera penalizzazione delle prestazioni a causa della compilazione JIT in questione.
  3. Alcuni progetti eseguono semplicemente WONT sul progetto Sito Web a causa della progettazione della richiesta di dispacciamento, come ASP.NET MVC e progetti basati su MonoRail.
  4. Hai poca o nessuna possibilità di TDD il tuo sito web progetto a livello di libreria perché non è compilato. Puoi comunque TDD la tua singola DLL compilata con Web Application.
  5. Ho dimenticato come viene attivato, ma VS2005 può impiegare molto tempo a compilare un progetto di sito Web più grande a causa della natura dinamica che implica il controllo della sintassi aggiuntivo per i file aspx. L'applicazione Web non soffre di questo problema.

Sono sicuro che ci sono molte più cose in gioco, ma penso che queste siano alcune delle più grandi.

1

Se si utilizza Visual Studio 2005, progetti di applicazioni Web di compilazione più veloce in base alle this site

per un elenco di uno persone opinioni di pros and cons è possibile controllare questo articolo.

La mia preferenza personale è semplicemente creare un progetto di sito web. Non ho davvero un motivo per farlo, ma dal momento che ha sempre funzionato per me (posso solo trascinare e rilasciare una directory da distribuire), continuo a usarlo.

0

Utilizzerei solo il progetto del sito Web per l'app più banale. Qualsiasi altra cosa che coinvolge più sviluppatori ha bisogno di uno script msbuild. msbuild ama i progetti di applicazioni web e odia davvero i progetti di siti web. Inoltre, non mi sono mai sentito a mio agio con l'ordine imposto dai progetti del sito web. Mi piace scrivere codice, compilare, testare, distribuire. Con un progetto di sito web si ottiene codice di scrittura, distribuzione, compilazione, test. Mi sfrega nel modo sbagliato.

0

Stephen M. Redd mi ha aiutato a iniziare su questo. Preferisce l'approccio al progetto di applicazioni web.

Il mio compito di oggi era di aggiornare un'app .Net 1.1 a 3.5, nel mio caso era molto più semplice prendere il percorso del progetto dell'applicazione web poiché questo è molto più vicino a come funziona 1.1.

Anche se ho deciso contro di esso, l'approccio sito web tenuto le seguenti attrazioni:

  • alcun codice affatto necessario dichiarare i controlli di pagina (progetto di applicazione web d'altra parte auto-genera questi in un file di progettazione che non mi piace il look di)
  • compilazione dinamica, più rapido sviluppo
  • c'è bisogno di un file di progetto

definitiva avrò bisogno di fare alcune er cambia il codice se scelgo il percorso del progetto dell'applicazione web. Sfortunatamente la nostra app ha pagine che si riferiscono l'un l'altro attraverso metodi statici e altre cattive pratiche. Il sito web si avvicina al metodo di compilazione, il che significa che le pagine non possono funzionare insieme indipendentemente da come sono configurati i tuoi spazi dei nomi. Credo che dovrò imparare a convivere con i file del designer.

0

Quando si sviluppa in un team, è sempre necessario scegliere l'applicazione Web. Poiché la directory Bin contiene tutti gli assembly di riferimento e devi controllare la directory Bin nel controllo del codice sorgente (molto male). Ciò significa che ottieni sempre conflitti dopo la compilazione del tuo sito web e un aggiornamento dal controllo del codice sorgente (con le modifiche apportate da un altro sviluppatore).

+0

puoi approfondire? – djangofan

7

Sito Web Principalmente per lavorare con siti Web ad-hoc che hanno elementi programmati. Identificato facilmente dai contenuti specifici del cliente presenti nei file aspx.

Non sono necessari file di progetto o di soluzione e le pagine e il codice sorgente possono risiedere localmente (file system, IIS) o in remoto (estensioni FTP, WebDev/FrontPage) tramite l'opzione di menu File> Apri> Sito Web ....

Il code-behind e le classi sono in genere memorizzati sul server Web che li compila in memoria su richiesta. Le modifiche possono essere apportate ai file senza riavviare l'applicazione e perdere le sessioni.

Per/Contro

  • modifica rapida, testare, implementare gli errori di sintassi in fase di esecuzione del ciclo
  • Non c'è bisogno di compilare o riavviare un'applicazione Non è possibile creare un programma di installazione
  • Fonte sempre disponibili Fonte sul server di utile agli hacker

applicazioni Web progetti applicativi web sono stati introdotti come un add-on per Visual Studio 2005, successivamente passato a VS 2005 SP1 e reso un cittadino di prima classe completo con Visual Studio 2008.

Come suggerisce il nome, si tratta principalmente di applicazioni Web, quelle in cui è stato scritto un prodotto o una soluzione capita di avere un'interfaccia web.

I progetti di applicazioni Web presenti sul disco locale e trattati come qualsiasi altro tipo di progetto VS e che possono essere aggiunti a soluzioni esistenti sono soggetti a compilazione, convalida e fasi di compilazione complete.

La distribuzione avviene in genere tramite programmi di installazione MSI, tuttavia è anche possibile utilizzare il componente aggiuntivo Web Deployment Projects che consente di eseguire la distribuzione direttamente ai server, utile per la distribuzione negli ambienti di test.

Per/Contro

  • Controllata processo di implementazione di build & Distribuzione provoca il riavvio dell'applicazione
  • Nessun file di classe sul web server, dll solo può non distribuire singole classi
  • Gli errori di sintassi in fase di compilazione

http://damieng.com/blog/2008/02/07/web-site-vs-web-application

0

Sito Web: la sua compilazione dinamica Applicazione Web: la sua compilazione statica

Visual Studio 2005 SP1 fornisce Web Application e in Visual Studio 2008: supporta entrambi questi concetti.

leggere myblog

0

Ci sono molti articoli su questo- here, and here, e anche here. La distinzione principale è che un progetto di sito Web comprende una cartella di risorse correlate che compongono il sito Web e qualsiasi cosa in quella cartella è parte del sito Web, mentre un'applicazione di sito Web viene trattata più come un'applicazione desktop e ha un file .csproj/vbproj che elenca tutti i contenuti dell'applicazione. Inoltre, le pagine hanno file di designer in un'applicazione del sito web.

Problemi correlati