Condividi tramite


Errore: impossibile avviare il debug sul server Web

Aggiornamento: novembre 2007

Durante il debug di un'applicazione in esecuzione in un server Web, è possibile che venga visualizzato il seguente messaggio di errore:

Unable to start debugging on the Web server

Se il messaggio è più lungo, verrà trattato in un argomento secondario.

Se si verifica questo errore, tenere presenti le informazioni riportate di seguito. Innanzitutto vedere Verifiche necessario, quindi considerare gli elementi rimanenti in base alla propria configurazione hardware e software.

  • Verifiche necessarie

  • Applicazioni Web su server remoti

  • Applicazioni Web inserite in Visual SourceSafe e utilizzo delle estensioni del server di FrontPage

  • Connessione manuale a processi esterni

  • La richiesta di debug non è stata elaborata dal server a causa della sintassi non valida

Verifiche necessarie

Verificare quanto segue:

  • Rivedere le procedure di installazione di ASP.NET o ATL Server. Per ulteriori informazioni, vedere Preparazione al debug di ASP.NET.

  • Si dispone dei privilegi di accesso necessari per il debug. Per ulteriori informazioni, vedere la sezione Requisiti di sicurezza in Requisiti di sistema per il debug di ASP.NET.

  • La versione di Windows in uso consente la connessione automatica del debugger di Visual Studio a un'applicazione Web. In caso contrario, eseguire l'applicazione senza le funzionalità di debug e connettere manualmente il debugger. Per ulteriori informazioni, vedere Connessione manuale a processi esterni e Requisiti di sistema per il debug di ASP.NET.)

  • L'applicazione Web dispone di un file Web.config.

    • Il file Web.config consente la modalità debug tramite impostazione dell'attributo debug su true. Per ulteriori informazioni, vedere Procedura: attivare il debug per applicazioni ASP.NET.

    • Il file Web.config non contiene errori di sintassi. Per verificare la presenza di errori di sintassi, eseguire l'applicazione Web senza debug, scegliendo Avvia senza eseguire debug dal menu Debug. Se nel file Web.config sono presenti errori di sintassi, verranno visualizzate informazioni a riguardo.

  • Il progetto non è stato creato specificando un indirizzo IP specifico, ad esempio 100.20.300.400. Il debug di un server Web richiede l'autenticazione NTLM. Per impostazione predefinita, gli indirizzi IP vengono considerati indirizzi Internet e l'autenticazione NTLM non viene eseguita su Internet. Per risolvere il problema:

    • Alla creazione del progetto specificare il nome del computer sulla rete Intranet.

      - oppure -

    • Aggiungere l'indirizzo IP, ad esempio http://100.20.300.400, all'elenco dei siti attendibili. A questo scopo, scegliere Opzioni Internet dal menu Strumenti di Internet Explorer e selezionare la scheda Protezione.

    Le estensioni necessarie sono registrate nel computer server. In caso contrario, registrare nuovamente ASP.NET come descritto nella procedura riportata di seguito.

  • IIS è stato installato dopo Visual Studio nel computer locale, che esegue Visual Studio. IIS deve essere installato prima di Visual Studio. Se viene installato dopo, può essere necessario ripetere la registrazione di ASP.NET.

    Per ripetere la registrazione di ASP.NET

    1. Dalla finestra del prompt dei comandi eseguire il comando systemroot\Microsoft.NET\Framework\ versionNumber \aspnet_regiis -i.

      Nota   Con Windows Server 2003 è possibile installare ASP.NET mediante l'applicazione Installazione applicazioni del Pannello di controllo.

    2. Inserire il disco di Visual Studio, eseguire il programma di installazione e selezionare Ripristina/Reinstalla. In questo modo verrà creata la condivisione wwwroot$ e verranno aggiunte le autorizzazioni adeguate.

  • L'URL della pagina iniziale del progetto è stato specificato correttamente. L'estensione e la directory del progetto sono corrette.

  • Verificare le impostazioni di IIS per l'applicazione Web. Per ulteriori informazioni, vedere Procedura: verificare le impostazioni delle proprietà di IIS.

  • Se nel server Web sono installate due versioni di .NET Framework, verificare che nelle impostazioni di IIS sia specificata la versione corretta. Per ulteriori informazioni, vedere Procedura: verificare le impostazioni delle proprietà di IIS.

Applicazioni Web su server remoti

Se l'applicazione Web si trova in un server remoto, accertarsi innanzitutto di avere verificato quanto indicato nella sezione Verifiche necessarie. Verificare quindi quanto segue:

  • Nel server in cui è in esecuzione Server IIS sono installati i componenti remoti Visual Studio. Per ulteriori informazioni, vedere Preparazione al debug di ASP.NET.

  • Si dispone dei privilegi di accesso necessari per il debug. Per ulteriori informazioni, vedere la sezione Requisiti di sicurezza in Requisiti di sistema per il debug di ASP.NET.

  • Per il debug di un'applicazione Web su un computer remoto non si utilizza Terminal Server. Il debug remoto delle applicazioni Web native con Terminal Server è supportato solo in Windows XP. Non è supportato in Windows 2000 o Windows NT.

Applicazioni Web inserite in Visual SourceSafe e utilizzo delle estensioni del server di FrontPage

Se l'applicazione Web è archiviata in Visual SourceSafe e utilizza le estensioni del server di FrontPage come modalità di accesso al Web, verificare che siano soddisfatte le condizioni elencate di seguito.

  • Visual SourceSafe è installato nello stesso computer in cui è installato il server di FrontPage o il server Web. In questo caso è possibile eseguire il debug utilizzando l'autenticazione integrata. Per verificare l'impostazione di autenticazione integrata, vedere la procedura Per controllare le impostazioni IIS per l'applicazione Web nel seguente argomento: Procedura: verificare le impostazioni delle proprietà di IIS.

La richiesta di debug non è stata elaborata dal server a causa della sintassi non valida

Talvolta il server non è in grado di elaborare una richiesta di debug a causa di sintassi non valida. La sintassi di richiesta non valida può essere causata da errori nel file machine.config. Questo errore si verifica se nel file machine.config maxRequestLength è impostato su un valore estremamente grande, come 40.960.000.

Connessione manuale a processi esterni

Se dopo avere seguito tutte le indicazioni fornite per la risoluzione dei problemi viene visualizzato ancora un messaggio di errore all'avvio del debug, provare a eseguire il debug dell'applicazione con una connessione manuale.

Per eseguire una connessione manuale

  1. Avviare l'applicazione senza eseguire il debug, scegliendo Avvia senza eseguire debug dal menu Debug.

  2. Determinare il nome del processo IIS o del processo di lavoro appropriato. Le applicazioni ATL Server sono denominate inetinfo.exe per impostazione predefinita. Per determinare il nome del processo di lavoro ASP.NET, vedere Procedura: individuare il nome del processo ASP.NET.

    Per determinare il processo in cui viene eseguita un'applicazione ASP.NET o ATL Server, attenersi a una delle procedure riportate di seguito.

  3. Eseguire la connessione al processo determinato nel passaggio precedente. Per ulteriori informazioni, vedere Procedura: eseguire la connessione a un processo in esecuzione.

Per verificare il processo in cui viene eseguita un'applicazione ASP.NET

  1. In Visual Studio o in un altro editor di testo aprire il file machine.config relativo all'applicazione.

  2. Nel nodo system.web, individuare il nodo ProcessModel ed esaminarne l'attributo enable:

    Se enable è impostato su TRUE, l'applicazione viene eseguita in aspnet_wp.exe o w3wp.exe, secondo l'impostazione predefinita.

    Se enable è impostato su FALSE, significa che l'applicazione viene eseguita in inetinfo.exe.

Per verificare il processo in cui viene eseguita un'applicazione ATL Server

  1. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul nome del progetto e scegliere Proprietà dal menu di scelta rapida.

  2. Nella finestra di dialogo Pagine delle proprietà di <Progetto> aprire la cartella Distribuzione Web e scegliere Generale.

  3. Visualizzare le impostazioni di Protezione applicazione.

    Se il valore delle impostazioni della protezione è Bassa (processo di IIS), significa che l'applicazione viene eseguita in inetinfo.exe.

    Se il valore delle impostazioni della protezione è Media (pool), significa che l'applicazione viene eseguita in un processo dllhost.exe, insieme ad altre applicazioni ATL Server in pool.

    Se il valore delle impostazioni della protezione è Alta (isolata), significa che l'applicazione viene eseguita in un processo dllhost.exe, separatamente da altre applicazioni ATL Server.

  4. Scegliere OK per chiudere la finestra di dialogo Pagine delle proprietà di <Progetto>.

Vedere anche

Attività

Errore: il server Web non è in grado di trovare la risorsa richiesta

Riferimenti

Debug di applicazioni Web: errori e risoluzione dei problemi

Altre risorse

Preparazione al debug di ASP.NET