Share via


Server Web in Visual Web Developer

Aggiornamento: novembre 2007

In questo argomento viene descritto l'utilizzo di Internet Information Services (IIS) o del server di sviluppo ASP.NET incorporato per il testing e l'esecuzione di siti Web.

Per il testing o l'esecuzione di applicazioni Web ASP.NET, è necessario utilizzare un server Web. Il server Web di produzione per i sistemi operativi Microsoft è IIS, che comprende un server Web, un server FTP (File Transfer Protocol), un server di posta elettronica virtuale SMTP (Simple Mail Transfer Protocol) e altre funzionalità. Per eseguire IIS, è necessario utilizzare una versione di Windows che possa svolgere la funzione di server in un ambiente di rete. Una di queste versioni è Windows Server 2003 Web Edition.

Per impostazione predefinita, in Windows 2000 Server e nelle versioni precedenti dei sistemi operativi Windows per server, IIS viene installato come parte del sistema operativo. In Windows XP e Windows Server 2003, IIS non viene invece installato per impostazione predefinita e può essere aggiunto utilizzando l'opzione Installazione componenti di Windows dell'utilità Installazione applicazioni del Pannello di controllo. In Windows Server 2003 è possibile installare IIS utilizzando il componente Server applicazioni.

L'utilizzo di IIS può risultare non praticabile per i seguenti motivi:

  • Si sviluppano pagine Web ASP.NET utilizzando Windows XP Home Edition, che non supporta IIS.

  • Non si desidera ospitare un server Web sul computer, ad esempio nella rete domestica, per motivi di protezione. L'esecuzione di un server Web, quale IIS, richiede l'adozione di altre misure per proteggere il server e implica l'installazione dei più recenti aggiornamenti della protezione.

  • La politica aziendale non consente l'installazione di determinati componenti server, tra cui IIS.

Server di sviluppo ASP.NET

Se non è possibile o non si desidera utilizzare IIS come server Web, è comunque possibile testare le pagine ASP.NET mediante il server di sviluppo ASP.NET, un server Web fornito con Visual Web Developer che viene eseguito localmente nei sistemi operativi Windows, incluso Windows XP Home Edition. Tale server è stato appositamente concepito per servire, o eseguire, pagine Web ASP.NET nello scenario dell'host locale (esplorazione dallo stesso computer utilizzato come server Web). In altri termini, il server di sviluppo ASP.NET serve le pagine per rispondere alle richieste del browser sul computer locale, ma non risponde alle richieste di un altro computer. Non può inoltre essere utilizzato per servire i file esterni all'ambito dell'applicazione. Il server di sviluppo ASP.NET rappresenta un metodo efficace per testare le pagine localmente prima che vengano pubblicate in un server di produzione che esegue IIS.

Il server di sviluppo ASP.NET accetta solo richieste autenticate sul computer locale. È quindi necessario che il server supporti l'autenticazione NTLM o di base.

Nota:

In generale, è preferibile non eseguire Visual Web Developer se si è connessi come amministratore, ma solo con un account più restrittivo. In questo modo si impedisce l'accesso involontario ad altri file presenti sul server.

Il server di sviluppo ASP.NET funziona solo con singole pagine e non include le funzionalità aggiuntive di IIS. Non supporta ad esempio i server di posta SMTP. Se l'applicazione Web richiede l'invio di messaggi di posta elettronica, è necessario disporre dell'accesso al server virtuale SMPT IIS per testare la posta elettronica, perché il server di sviluppo ASP.NET non è in grado di inoltrare messaggi né di richiamare un server che li inoltri.

Esecuzione del server di sviluppo ASP.NET

Per impostazione predefinita, il server di sviluppo ASP.NET viene installato con Visual Web Developer. Se si lavora a un sito Web di file system, verrà utilizzato automaticamente per l'esecuzione delle pagine. Per impostazione predefinita, il server Web viene richiamato su una porta selezionata in modo casuale per lo scenario di host locale. Se ad esempio si intende testare una pagina denominata ExamplePage.aspx, l'URL della pagina eseguita sul server di sviluppo ASP.NET potrebbe essere:

https://localhost:31544/ExamplePage.aspx

Alla chiusura del browser, il server di sviluppo ASP.NET viene nuovamente arrestato.

Se si desidera eseguire il server di sviluppo ASP.NET su una porta specifica, è possibile configurarlo a tale scopo, ad esempio nelle seguenti situazioni:

  • Se il codice dell'applicazione è in attesa di una porta specifica e si desidera poter testare l'applicazione utilizzando il server di sviluppo ASP.NET.

  • Se l'applicazione include un riferimento a un progetto client o a un servizio Web associato a una porta specifica.

Visual Web Developer non è in grado di garantire che la porta specificata sarà disponibile al momento dell'esecuzione del sito Web di file system. Per informazioni dettagliate, vedere Procedura: specificare una porta per il server di sviluppo ASP.NET.

Contesto di protezione per il server di sviluppo ASP.NET

Una differenza importante tra il server di sviluppo ASP.NET e IIS è rappresentata dal contesto di protezione in cui i rispettivi server eseguono le pagine ASP.NET. Questa differenza può influire sul testing a causa delle diverse modalità di esecuzione delle pagine.

Per l'esecuzione di una pagina tramite il server di sviluppo ASP.NET viene utilizzato il contesto dell'account utente corrente. Se ad esempio si dispone di privilegi di livello amministratore, una pagina eseguita nel server di sviluppo ASP.NET avrà privilegi di livello amministratore. In IIS, viceversa, per impostazione predefinita ASP.NET viene eseguito nel contesto dell'utente speciale (ASPNET o NETWORK SERVICES), che in genere dispone di privilegi limitati. Gli account ASPNET o NETWORK SERVICES sono locali per il computer server (non sono account di dominio), pertanto l'accesso alle risorse disponibili in altri computer risulta limitato.

Se ci si limita a leggere ed eseguire il codice nelle pagine ASP.NET, questa differenza non è rilevante. I diversi contesti di protezione per i due server Web possono tuttavia influire sul testing di quanto riportato di seguito:

  • Accesso ad altre risorse richieste dalla pagina   Può includere la lettura e la scrittura di file diversi da pagine Web, la lettura e la scrittura nel Registro di sistema di Windows e così via.

  • Accesso al database   Quando si utilizza il server di sviluppo ASP.NET ci si affida in genere all'autenticazione Windows integrata per accedere a SQL Server. Se tuttavia la stessa pagina viene eseguita in IIS con l'account ASPNET o NETWORK SERVICES, il contesto utilizzato è quello dell'utente locale ed è spesso necessario configurare la pagina in modo da utilizzare una stringa di connessione che includa informazioni su un utente e una password. Per ulteriori informazioni, vedere Accesso a SQL Server da un'applicazione Web e Architettura della protezione ASP.NET.

  • Sicurezza per l'accesso al codice   Se la pagina richiede l'accesso a risorse protette in aree diverse, potrebbe essere eseguita in modo differente nel server di sviluppo ASP.NET e in IIS.

Anche se è possibile utilizzare il server di sviluppo ASP.NET per testare la funzionalità delle pagine, è necessario ripetere il testing dopo la pubblicazione di tali pagine nel server Web di produzione che esegue IIS.

Autorizzazione dei file sul server di sviluppo ASP.NET

In un sito Web di file system i file statici, quali le immagini e i fogli di stile, sono soggetti all'autorizzazione ASP.NET. I file statici di un sito Web di file system non vengono ad esempio serviti a un utente anonimo quando l'accesso anonimo ai file non è consentito. Tuttavia, quando viene creato un progetto di sito Web in un percorso HTTP, IIS serve file statici senza utilizzare le regole di autorizzazione.

Vedere anche

Attività

Procedura dettagliata: creazione di una pagina Web di base in Visual Web Developer

Concetti

Siti Web di file system