Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
di Microsoft
Visual Studio 2005 offre agli sviluppatori di applicazioni Web un lungo elenco di miglioramenti e miglioramenti ai progetti Web.
Visual Studio 2005 offre agli sviluppatori di applicazioni Web un lungo elenco di miglioramenti e miglioramenti ai progetti Web. Quanto Visual Studio .NET 2002 e 2003 sono potenti, ci sono stati molti reclami nel modo in cui sono stati gestiti i progetti Web. Visual Studio 2005 aggiunge un numero significativo di nuove funzionalità per risolvere questi reclami. Per coloro che preferiscono il modo in cui Visual Studio .NET 2003 gestisce la compilazione di applicazioni Web, vedere Progetti di applicazioni Web.
In questo modulo vengono illustrati anche i miglioramenti apportati alla creazione, alla gestione e allo sviluppo di progetti Web. In un modulo successivo vengono illustrati anche i miglioramenti nella compilazione di progetti Web e nella distribuzione.
Estensioni server di FrontPage
Visual Studio .NET 2002 e 2003 richiede estensioni server frontpage nella casella per creare o compilare progetti Web. Gli sviluppatori hanno scelto tra due diverse modalità di accesso (estensioni del server FrontPage o modalità di accesso ai file), entrambe hanno usato le estensioni del server FrontPage per eseguire attività come l'impostazione della radice dell'applicazione in IIS e così via.
Visual Studio 2005 rimuove la dipendenza dalle estensioni server di FrontPage per i progetti locali. Visual Studio 2005 accede ora direttamente alla metabase IIS anziché usare le estensioni del server FrontPage. Visual Studio 2005 aggiunge anche il supporto per FTP che consente l'accesso remoto al progetto senza richiedere le estensioni del server FrontPage.
Per gli sviluppatori che vogliono usare le estensioni server di FrontPage nei progetti, l'opzione è ancora disponibile. Tuttavia, in base a un forte feedback della community degli sviluppatori ASP.NET, non è un requisito.
Nota
Le estensioni server di FrontPage sono ancora necessarie per la creazione di progetti remoti, l'apertura e così via.
Panoramica di ASP.NET Development Server
Visual Studio 2005 viene fornito con un nuovo server Web denominato ASP.NET Development Server. Questo server Web era precedentemente noto come Cassini.
Esistono diversi vantaggi del server di sviluppo ASP.NET.
- È ora possibile che gli utenti non amministratori sviluppino ed eseelaborino ed eseelaborino su un server Web.
- Il server di sviluppo ASP.NET esegue il mapping dinamico delle directory virtuali a qualsiasi posizione nel file system, consentendo percorsi di progetto flessibili.
- Gli utenti di Windows XP Professional che già usano IIS potranno ora creare nuove applicazioni Web che non influiranno sulla struttura di file o cartelle del sito Web predefinito in IIS.
Non è necessaria alcuna configurazione speciale per sfruttare i vantaggi del server di sviluppo ASP.NET. Quando viene eseguito il debug o l'esplorazione di un progetto Web ospitato nel file system, Visual Studio 2005 avvierà automaticamente un'istanza del server di sviluppo ASP.NET su una porta casuale per gestire la richiesta.
Altre informazioni verranno illustrate in ASP.NET Development Server più avanti in questo modulo.
Gestione file migliorata
In Visual Studio 2002 e 2003 un file di progetto (con estensione vbproj per VB.NET e csproj per C#) archivia le informazioni su tutti i file nell'applicazione Web. La visualizzazione Esplora soluzioni si basa sulle informazioni sul file nel file di progetto. Per questo motivo, il Esplora soluzioni spesso visualizza informazioni non accurate nei casi in cui sono stati usati editor esterni. Visual Studio 2002 e 2003 spesso sovrascrive le modifiche ai file o non visualizza la versione più recente dei file.
Visual Studio 2005 elimina il file di progetto. Legge invece le informazioni sul file e sulla cartella direttamente dal disco, con conseguente visualizzazione accurata dei file nel progetto. Poiché la cartella Riferimenti in Visual Studio 2002 e 2003 non rappresenta una cartella effettiva nell'applicazione Web, Visual Studio 2005 rimuove anche la cartella Riferimenti da Esplora soluzioni. Per accedere ai riferimenti per il progetto in Visual Studio 2005, è necessario usare le pagine Delle proprietà per il progetto.
Creazione di progetti Web
Gli sviluppatori Web hanno molte nuove opzioni disponibili per la creazione di progetti in Visual Studio 2005. È ora possibile creare siti Web in qualsiasi punto del file system e quindi eseguire il debug o l'esplorazione usando il nuovo ASP.NET Development Server. Gli sviluppatori possono anche creare nuovi siti Web usando FTP.
Fare clic qui per visualizzare una procedura dettagliata video per la creazione di progetti Web in Visual Studio 2005.
Progetti file system
Come illustrato nella procedura dettagliata del video, è possibile scegliere di creare siti Web nel file system nel computer locale o in un percorso remoto tramite una condivisione file. I siti Web creati nel file system vengono esplorati e sottoposto a debug usando il server di sviluppo ASP.NET.
Nota
Il ASP.NET Development Server può causare confusione per i clienti. Se un progetto Web viene creato nel file system nella struttura di directory IISs (ad esempio c:/inetpub/wwwroot), il sito Web verrà comunque esplorato tramite il server di sviluppo ASP.NET all'avvio da Visual Studio 2005. Pertanto, qualsiasi configurazione IIS (ad esempio metodi di autenticazione) non è applicabile.
Il progetto Web predefinito rimuove anche molto il sovraccarico solo include una pagina Default.aspx, un file default.cs e una cartella App/_Data. Le web.config e le cartelle speciali (ad esempio app/_code) vengono aggiunte in base alle esigenze. Il progetto Web include solo i file e le cartelle necessari.
Progetti HTTP
I progetti HTTP possono essere progetti creati in un sito Web IIS locale o in un sito Web remoto. Il percorso predefinito del progetto è http://localhost
. Se si fa clic sul pulsante Sfoglia, sono disponibili due opzioni HTTP: IIS locale e Sito remoto. La differenza principale in queste due opzioni è il metodo in cui le informazioni sul sito Web vengono visualizzate nella finestra di dialogo Scegli percorso e in che modo i file vengono copiati nel server Web.
L'opzione IIS locale legge le informazioni sul sito dalla metabase nel computer locale e i file vengono copiati usando il file system. L'opzione Sito remoto usa le estensioni del server FrontPage e le informazioni e i file del sito vengono copiati tramite chiamate RPC HTTP e FrontPage Server Extensions.
Nota
Il file vs###/_tmp.htm e get/_aspx/_ver.aspx non vengono più usati per determinare le informazioni sulla versione.
L'opzione HTTP predefinita è IIS locale. Questa opzione legge la metabase IIS per determinare quali siti sono disponibili e il percorso in cui creare il contenuto. È possibile selezionare una cartella o una directory virtuale diversa selezionandola nella visualizzazione albero. È anche possibile creare una nuova directory virtuale, contrassegnare le cartelle come applicazioni, nonché eliminare le directory virtuali esistenti da questa finestra di dialogo.
Figura 1: Finestra di dialogo Scegli posizione
A differenza delle versioni precedenti di Visual Studio, se si seleziona la casella di controllo Usa Secure Sockets Layer e il certificato SSL non corrisponde all'URL che si sta esplorando, verrà visualizzata una finestra di dialogo Avviso di sicurezza che chiede se si desidera procedere. Se si usa Visual Studio .NET 2003, se il certificato non è corrispondente, la creazione del progetto avrà esito negativo.
Figura 2: Avviso di sicurezza relativo al certificato SSL
Nota sulle intestazioni host
Se si sta creando un'applicazione Web in un sito associato a un indirizzo IP specifico, sarà necessario assicurarsi che sia configurata un'intestazione host. In caso contrario, Visual Studio creerà il sito in http://localhost
, ma l'indirizzo IP non verrà risolto correttamente quando il sito viene esplorato o sottoposto a debug dall'interno dell'IDE.
Se si seleziona l'opzione Sito remoto, la finestra di dialogo viene modificata per consentire di immettere l'URL di destinazione per il nuovo sito Web. Questo URL deve trovarsi in un server in cui sono abilitate le estensioni del server FrontPage. Se si vuole usare il server Web locale usando le estensioni del server FrontPage, è possibile usare l'opzione Sito remoto e specificare un URL locale.
Figura 3: Creazione di un sito Web in un server remoto
Quando si crea un'applicazione in un sito remoto tramite SSL, se il certificato SSL non corrisponde, la finestra di dialogo di conferma è leggermente diversa dalla finestra di dialogo visualizzata quando si usa l'opzione IIS locale.
Figura 4: Avviso di sicurezza del sito remoto
FTP
Visual Studio 2005 introduce l'opzione per creare siti Web tramite FTP. Quando si usa questa opzione, l'IDE crea i file in locale nella cartella temporanea degli utenti e quindi usa FTP per spostare i file nel percorso FTP.
Nota
Il percorso della cartella temporanea è c:/Documents and Settings/<User>/Local Settings/Temp/VWDWebCache/<Server>/_<application name>
Quando si usa l'opzione FTP, verrà visualizzata una finestra di dialogo Scegli posizione. Immettere le informazioni di connessione FTP necessarie in questa finestra di dialogo, come illustrato di seguito.
Figura 5: Finestra di dialogo Scegli percorso per FTP
Lab: Configurare il sito FTP e creare un progetto
La procedura seguente consente di configurare il sito FTP in modo che un utente disponga di un percorso in cui sia possibile caricare solo tramite FTP.
Installare il servizio FTP
- Aprire Installazione applicazioni, selezionare Aggiungi/Rimuovi componenti di Windows
- Selezionare Internet Information Services (Server applicazioni in Windows 2003) e fare clic su Dettagli.
- Controllare il servizio FTP (File Transfer Protocol) e fare clic su OK.
- Fare clic su Avanti per installare il servizio FTP.
Creare una nuova cartella per il contenuto
- In Esplora risorse creare una nuova cartella denominata User1 all'interno di c:/inetpub/wwwroot.
Configurare cartelle e autorizzazioni per le cartelle.
- Aprire lo snap-in Internet Information Services da Strumenti di amministrazione. Sarà ora disponibile una cartella Siti FTP nel nodo nome computer.
- Espandere Siti FTP.
- Fare clic con il pulsante destro del mouse sul sito FTP predefinito, scegliere Nuova, quindi Directory virtuale, quindi fare clic su Avanti.
- Immettere User1 per il nome della directory virtuale e fare clic su Avanti.
- Immettere c:/inetpub/wwwroot/User1 per il percorso e fare clic su Avanti.
- Fare clic su Avanti e quindi fine per completare la procedura guidata.
- Fare clic con il pulsante destro del mouse sulla directory virtuale User1 in Sito FTP predefinito e selezionare Proprietà.
- Selezionare la casella di controllo Scrittura e fare clic su OK per chiudere la finestra di dialogo.
- Fare clic con il pulsante destro del mouse sul sito FTP predefinito e scegliere Proprietà.
- Nella scheda Account di sicurezzadeselezionare Consenti connessioni anonime.
- Fare clic su Sì nella finestra di dialogo che chiede se si vuole continuare.
- Fare clic su OK per chiudere la finestra di dialogo.
- Espandere il sito Web predefinito nel nodo Siti Web .
- Fare clic con il pulsante destro del mouse sulla directory User1 e selezionare Proprietà
- Nella sezione Impostazioni applicazione fare clic su Crea per contrassegnare la cartella come applicazione.
- Fare clic su OK per chiudere la finestra di dialogo.
- Chiudere lo snap-in Internet Information Services.
Creare un progetto Web
- Aprire Visual Studio 2005.
- Dal menu File selezionare Nuovo sito Web.
- Nell'elenco a discesa Percorso selezionare FTP.
- Fare clic su Sfoglia.
- Immettere localhost nella casella di testo Server .
- Immettere User1 nella casella di testo Directory.
- Fare clic su Apri. Il percorso FTP verrà immesso nella finestra di dialogo Nuovo sito Web.
- Fare clic su OK.
- Deselezionare Accesso anonimo nella finestra di dialogo Accesso FTP, immettere le credenziali e fare clic su OK.
- Qual è l'URL per il progetto? L'URL per il progetto verrà visualizzato in Esplora soluzioni.
- Dal menu Compila selezionare Compila sito Web o Compila soluzione.
- Fare clic con il pulsante destro del mouse su Default.aspx in Esplora soluzioni e selezionare Visualizza nel browser.
- Nella finestra di dialogo URL sito Web obbligatorio immettere
http://localhost/user1
per l'URL e fare clic su OK.
Nota
Se viene visualizzato un errore che indica un'incapacità di caricare il tipo /_Default, assicurarsi di eseguire ASP.NET 2.0 nel sito Web e non una versione precedente. È possibile eseguire questa operazione dalla scheda ASP.NET in Internet Information Services.
Apertura di progetti Web
L'apertura di progetti Web è simile alla creazione di progetti. Le sezioni seguenti chiamano le aree per tenere d'occhio quando si lavora all'interno dell'IDE. Vengono inoltre illustrati i progetti Web che usano HTTP e FTP.
Per aprire un progetto Web, selezionare Apri sito Web dal menu File. Verrà richiesto con la stessa finestra di dialogo Scegli posizione illustrata in precedenza e sono disponibili le stesse quattro opzioni: File System, IIS locale, FTP e Sito remoto.
File system
Come indicato in precedenza in questo modulo, Visual Studio non usa più un file di progetto. Pertanto, se si sceglie di aprire un sito Web dal file system, è effettivamente possibile scegliere qualsiasi cartella desiderata, anche se la cartella scelta non è stata creata come progetto Web inizialmente in Visual Studio. Ad esempio, è possibile scegliere di aprire la cartella Documenti personali come sito Web e Visual Studio lo aprirà e visualizzerà i file come illustrato di seguito.
Figura 6: Documenti aperti come sito Web
Poiché Visual Studio crea solo file e cartelle aggiuntivi quando necessario, non vengono aggiunti file o cartelle aggiuntivi al percorso aperto. Un effetto collaterale di questa architettura è che impedisce l'annidamento dei siti Web nel file system. Si consideri ad esempio la struttura di directory seguente.
Progetto Web in C:/MyWebSite
Un altro progetto Web in C:/MyWebSite/Nested
Quando si apre il sito Web in c:/MyWebSite, la cartella Annidata verrà visualizzata come sottocartella di tale applicazione.
HTTP
Quando si apre siti Web tramite HTTP, le impostazioni vengono lette dalla metabase IIS (IIS locale) o tramite Le estensioni del server FrontPage (sito remoto). Se sono presenti applicazioni Web annidate, queste vengono visualizzate anche con un'icona che li identifica come applicazione. Se si ha familiarità con l'uso delle applicazioni Web in FrontPage, il comportamento in Visual Studio 2005 è simile.
Anche se Visual Studio visualizzerà un'icona per le applicazioni annidate sotto l'applicazione attualmente aperta all'interno dell'IDE, non consente di espanderle per visualizzare il contenuto. È tuttavia possibile fare doppio clic su di essi per aprirli. Quando si esegue questa operazione, verrà visualizzata una finestra di dialogo che richiede di aprire l'applicazione Web (e sostituire la soluzione attualmente aperta) o aggiungere l'applicazione Web alla soluzione corrente.
Figura 7: Fare doppio clic su un'icona dell'applicazione annidata presenta questa finestra di dialogo
Sito FTP
Quando si apre un sito tramite FTP, i file vengono copiati in locale nella cartella temp. Il percorso completo per il percorso di archiviazione locale viene visualizzato nel riquadro Proprietà per il progetto e viene creato usando il formato seguente.
C:/Documents and Settings/User>/Local Settings</Temp/VWDWebCache</Server>/_<application name>
Quando si usa FTP, Visual Studio dovrà specificare l'URL di base per il progetto in modo da poterlo esplorare come illustrato di seguito. Se non si specifica un URL di base, Visual Studio chiederà la prima volta che si tenta di esplorare una pagina nel sito Web.
Figura 8: Specifica di un URL di base per i siti FTP
Miglioramenti nella compilazione
L'uso di applicazioni Web in Visual Studio 2005 è notevolmente più veloce rispetto alle versioni precedenti. Ciò è dovuto in nessuna piccola parte alle modifiche apportate all'architettura di compilazione.
In Visual Studio 2002 e 2003 le applicazioni Web sono state compilate in un assembly primario che risiede nella cartella /bin. In Visual Studio 2005 è stata aggiunta una cartella App/_Code. Le classi e altri codici non dell'interfaccia utente vengono aggiunti alla cartella App/_Code. Quando Visual Studio compila il progetto, tutti i file nella cartella App/_Code vengono compilati in un singolo file app/_Code.dll. Il risultato di questa modifica è che le build successive sono molto più veloci rispetto alle versioni precedenti.
Nota
L'utilità della riga di comando DI MSBuild può essere usata anche per compilare applicazioni Web ASP.NET. Questo strumento verrà coperto nel modulo 9.
Un altro miglioramento della compilazione è la nuova opzione Compilazione pagina nel menu Compilazione. Questa funzionalità consente a uno sviluppatore di ricompilare solo la pagina corrente (insieme, naturalmente, e le dipendenze) in modo che le modifiche possano essere compilate più rapidamente. Poiché C# non offre compilazione in background ai fini dell'aggiornamento di IntelliSense e così via, trarrà vantaggio enormemente da questa funzionalità perché consente a IntelliSense di essere aggiornato rapidamente semplicemente ricompilando una singola pagina.
Le proprietà di compilazione per un progetto consentono di configurare il tipo di compilazione che si verifica prima dell'esecuzione della pagina di avvio. Gli sviluppatori possono scegliere di compilare solo la pagina corrente in modo che Visual Studio possa avviare il debug delle applicazioni più rapidamente dopo le modifiche al codice.
Figura 9: Azione start pagina compilazione
Un altro grande miglioramento per Visual Studio e l'architettura di ASP.NET si trova nell'area della modifica e continua. In Visual Studio 2005 gli sviluppatori possono avviare il debug di un progetto e apportare modifiche al codice nel progetto senza scollegare il debugger. È infatti possibile avviare letteralmente il debug di un progetto, aggiungere una nuova classe, aggiungere codice a tale classe, aggiungere codice alla pagina che crea una nuova istanza di tale classe ed eseguire un metodo della classe, tutto senza scollegare il debugger. L'esecuzione del nuovo codice è letteralmente facile da aggiornare il browser!
Fare clic qui per visualizzare una procedura dettagliata video della modifica e continuare la funzionalità in Visual Studio 2005.
La funzionalità di modifica e continuazione affidabile in ASP.NET 2.0 e Visual Studio 2005 è dovuta a una modifica dell'architettura per le applicazioni ASP.NET. In ASP.NET 1.x, le applicazioni create in Visual Studio 2002/2003 sono state compilate in un assembly primario archiviato nella cartella /bin. Tutte le classi, le pagine e così via. per l'applicazione è stata compilata in tale DLL. In fase di esecuzione, ASP.NET compila tutti i controlli, il markup e ASP.NET codice nelle pagine e copiare tali DLL nella ASP.NET cartella temporanea.
In Visual Studio 2005 usando ASP.NET 2.0, i due modelli di compilazione descritti sopra (uno per Visual Studio e uno per ASP.NET in fase di esecuzione) sono stati uniti in un modello di compilazione comune. Ciò significa che tutti i problemi di compilazione vengono rilevati durante la fase di sviluppo anziché in fase di esecuzione. Consente anche il supporto di progettazione e IntelliSense per funzionalità quali i controlli utente e le pagine master.
Fare clic qui per visualizzare una procedura dettagliata di progettazione per i controlli utente.
Nota
Quando un controllo utente viene rimosso da una pagina, la @Register direttiva rimane nel markup e deve essere rimossa manualmente per evitare errori di parser se il controllo utente viene eliminato dal sito Web.
Un altro miglioramento nel modello di compilazione di Visual Studio è la funzionalità Pubblica sito Web. Poiché la funzionalità Pubblica precompila il sito Web, gli sviluppatori possono godere delle prestazioni aggiunte di non dover compilare nulla su richiesta. Precompila anche tutto il codice sorgente nella cartella App/_Code in una DLL in modo che non sia necessario distribuire codice sorgente.
Figura 10: finestra di dialogo Pubblica sito Web
Nota
L'utilità aspnet/_compile.exe può essere usata anche per precompilare un'applicazione Web ASP.NET. Questo strumento verrà coperto nel modulo 9.
Quando si pubblica un sito Web, i file precompilati vengono archiviati nella cartella File di ASP.NET temporanei, come illustrato di seguito. I file con estensione file compilata sono file XML che definiscono le dipendenze per specifiche DLL. Tutti i controlli Webform o utente vengono compilati in DLL casuali che iniziano con App/Web/.
Se si lascia la casella di controllo Consenti al sito precompilato di essere aggiornabile , il markup all'interno delle forme Web e dei controlli utente non verrà precompilato in una DLL che consente di apportare modifiche dopo la distribuzione. Se si preferisce bloccare il markup in modo che le modifiche al contenuto distribuito non siano consentite, deselezionare questa casella.
La casella di controllo Use fixed naming and single page assembly consente di disabilitare la compilazione batch in modo che ogni pagina venga compilata in un assembly denominato fisso. Lasciare deselezionata questa casella consente di sfruttare la compilazione batch.
La casella di controllo Abilita denominazione avanzata negli assembly precompilati consente di assegnare un nome sicuro agli assembly precompilati.
Nota
In ASP.NET 1.x, gli assembly con nome sicuro devono essere installati nella Global Assembly Cache (GAC). In ASP.NET 2.0 non è necessario installare assembly con nome sicuro nella gaC.
Figura 11: File precompilato ASP.NET applicazioni
Nota
Nell'applicazione precedente non è presente alcun file web.config. Se ci fosse stato, sarebbe stato chiamato PrecompiledApp.config dopo il processo pubblica sito Web.
Miglioramenti nella distribuzione
Come per Visual Studio 2002 e 2003, Visual Studio 2005 offre una funzionalità Copia progetto. Tuttavia, la funzionalità è stata aggiornata in Visual Studio 2005 ed è ora denominata Copia sito Web.
La finestra di dialogo Copia sito Web viene suddivisa in una cornice sinistra e in una cornice destra. Il frame sinistro viene chiamato sito Web di origine e la cornice destra viene chiamata sito Web remoto. Una cosa che può confondere alcuni sviluppatori è che il sito visualizzato nel frame destro non è necessariamente un sito remoto. Potrebbe essere un sito nel file system locale o nell'istanza locale di IIS. Inoltre, il sito visualizzato nella cornice sinistra non è necessariamente il sito Web di origine perché la finestra di dialogo consente di pubblicare dal sito Web remoto al sito Web di origine.
Se si copia un progetto in un sito Web remoto, tale sito deve avere le estensioni del server FrontPage installate. In caso contrario, sarà necessario connettersi tramite FTP. D'altra parte, se si copia un progetto nell'istanza di IIS locale, le estensioni del server FrontPage non sono necessarie.
Nota
Se si tenta di creare un nuovo sito Web nell'istanza di IIS locale e le estensioni server di FrontPage 2002 vengono installate, verrà visualizzato un messaggio di errore che indica che la creazione di siti Web non è supportata in un server SharePoint. In questo caso, è possibile installare le estensioni del server FrontPage 2000 o rimuovere le estensioni del server FrontPage.
Fare clic qui per una procedura dettagliata video della funzionalità Copia sito Web.
Miglioramenti nel debug
Sono disponibili quattro miglioramenti chiave nel debug in Visual Studio 2005.
- Il debug in locale come amministratore non è possibile uscire dalla casella.
- L'attributo Debug per l'elemento Compilation è ora false per impostazione predefinita.
- La configurazione e la configurazione del debug remoto è più semplice di prima.
- È ora possibile eseguire il debug di un sito Web aperto tramite un percorso FTP.
Debug come amministratore non amministratore
L'aggiunta del server di sviluppo ASP.NET consente agli amministratori non di eseguire facilmente il debug di applicazioni ASP.NET direttamente nella casella. Quando un'applicazione ASP.NET in esecuzione nel file system locale viene eseguita il debug, Visual Studio avvia il server di sviluppo ASP.NET nel contesto dell'utente connesso. Tale utente può quindi eseguire il debug dell'applicazione senza alcuna configurazione aggiuntiva.
Il debug è False per impostazione predefinita
In ASP.NET 1.x l'attributo di debug nell'elemento di compilazione del file di web.config è stato impostato su true per impostazione predefinita. È sempre stato consigliabile che gli sviluppatori impostano questo attributo su false prima di distribuire un'applicazione in produzione, ma perché la maggior parte degli sviluppatori non comprende completamente le conseguenze dell'uscita dall'attributo di debug impostata su true, lo lascia semplicemente come è.
Il problema più grave con la presenza dell'attributo di debug impostato su true è che disabilita ASP. Modello di compilazione batch nets. Pertanto, ogni pagina viene compilata in una DLL separata. Se un'applicazione Web è costituita da migliaia di pagine (non inedito per qualsiasi mezzo), ciò significa che diverse migliaia di DLL di piccole dimensioni verranno create da tale applicazione. Anche se queste DLL sono di dimensioni ridotte, non vengono caricate in una determinata posizione in memoria. Pertanto, causano la frammentazione nella memoria di sistema e possono contribuire alle occorrenze outOfMemoryException.
In ASP.NET 2.0 l'attributo di debug è impostato su false per impostazione predefinita. Come si è già visto, quando uno sviluppatore esegue il debug di un'applicazione ASP.NET in Visual Studio 2005, viene richiesto di aggiungere un file web.config con il debug abilitato. Ciò comporta gli stessi svantaggi presenti in ASP.NET 1.x, ma ora lo sviluppatore è chiaramente avvisato che l'attributo deve essere reimpostato su false prima di spostare l'applicazione in produzione.
Installazione e configurazione del debug remoto
In Visual Studio 2002/2003, il debug remoto si basa su Machine Debug Manager (mdm.exe) e sul processo di vs7jit.exe. A causa di questo, la risoluzione dei problemi di debug remoto era spesso una scatola nera per i clienti e spesso non era molto meglio per PSS.
Visual Studio 2005 rimuove la dipendenza dai processi di mdm.exe e vs7jit.exe. Usa invece il servizio Monitoraggio debug remoto (msvsmon.exe).)
Il requisito per il debug in Visual Studio 2005 in remoto è piuttosto semplice. È necessario eseguire msvsmon.exe nel server remoto prima del debug. È possibile installare Il monitoraggio debug remoto dal CD di Visual Studio oppure è sufficiente eseguire msvsmon.exe da una condivisione senza installare alcun elemento nel server Web.
Quando si esegue msvsmon.exe, è probabile che si lamentano delle porte bloccate per il debug remoto. Fortunatamente, è possibile sbloccare facilmente le porte dall'interno della finestra di dialogo di avviso, come illustrato di seguito.
Figura 12: Notifica che Windows Firewall blocca il debug remoto
Dopo aver sbloccato le porte necessarie per il debug, verrà visualizzato il monitoraggio debug remoto, come illustrato di seguito. Da questa interfaccia è possibile monitorare facilmente le connessioni e modificare le autorizzazioni di debug.
Figura 13: Monitoraggio debug remoto
È anche possibile eseguire il debug remoto di un'applicazione Web aperta tramite FTP. I passaggi sono uguali a quelli descritti in precedenza. Tuttavia, è necessario specificare un URL di base per esplorare il progetto FTP come descritto in precedenza in questo modulo.
Lab 2
Debug remoto con Visual Studio 2005
Questo lab illustra come eseguire il debug remoto con Visual Studio 2005.
Fare clic qui per una procedura dettagliata video di questo lab.
Questo lab richiede due computer, uno che esegue Visual Studio 2005 e l'altro che esegue IIS 5 o versione successiva.
- Aprire Visual Studio 2005 e creare un nuovo sito Web nel server remoto.
Nota
È possibile creare il sito Web in un'istanza remota di IIS o tramite FTP.
- Dal server Web remoto individuare msvsmon.exe nel computer di sviluppo usando un percorso UNC ed eseguirlo.
Il percorso predefinito per msvsmon.exe è //server/c$/Programmi/Microsoft Visual Studio 8/Common7/IDE/Remote Debugger/x86. - Se viene richiesto di sbloccare le porte per il debug remoto, eseguire questa operazione.
- Dal computer di sviluppo aprire il code-behind per Default.aspx e impostare un punto di interruzione nel metodo Page/_Load.
- Avviare il debug dal computer di sviluppo.
Si dovrebbe raggiungere il punto di interruzione come previsto.
Avvio di ASP.NET Development Server
Come già illustrato, Visual Studio 2005 viene fornito con un server Web denominato ASP.NET Development Server. Il server di sviluppo ASP.NET viene talvolta definito Cassini. Questo server Web è un modo pratico per esplorare ed eseguire il debug di applicazioni Web in esecuzione nel file system.
Il server di sviluppo ASP.NET è un server Web con restrizioni. Non consente connessioni remote, non consente richieste da nessun utente diverso dall'utente che ha avviato il server Web. Non ha anche la possibilità di gestire le pagine ASP. Vengono gestite solo ASP.NET risorse e risorse HTML (incluse immagini, file CSS e così via).
Il ASP.NET Development Server può essere avviato tramite la riga di comando eseguendo il file WebDev.WebServer.exe disponibile in c:/Windows/Microsoft.NET/Framework/v2.0./////*. Nella finestra di dialogo seguente vengono visualizzati i parametri disponibili.
Figura 14
Nota
Il server di sviluppo ASP.NET non è supportato quando viene avviato in modo esplicito tramite la riga di comando.