DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 891032 - Ultima modifica: giovedì 24 gennaio 2008 - Revisione: 3.1

 
ASP .NET Support Voice colonna: Troubleshooting ASP.NET
per personalizzare questo articolo in base alle proprie esigenze, si desidera invitati a inviare le proprie idee sugli argomenti di interesse è e problemi che si desidera vedere risolti in futuro articoli della Knowledge Base e di Support Voice. È possibile inviare idee e commenti e suggerimenti tramite il modulo Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) . C'è anche un collegamento al modulo nella parte inferiore della colonna.

In questa pagina

INTRODUZIONE

Hello nuovamente e Introduzione all'edizione di novembre ' 04 della colonna di supporto audio. Vorrei ringraziare Jim Cheshire , un addetto del supporto qui in Microsoft supporto ASP.NET, per sua funzione. Jim ha alcune idee per la colonna di Support Voice e desidera condividere. Cercare contributi di Jim alcuni mesi successivo e come sempre, inviateci i vostri suggerimenti per le colonne successive. Jim grazie!

Jim è stato collaborato con noi per sei anni su team di FrontPage, Visual Basic e ASP.NET. Durante questa fase, ha scritto per Office Developer Center su MSDN ed è l'autore di un libro su FrontPage, speciale Edition con Microsoft Office FrontPage 2003 . Jim dispone anche di un sito Web in cui ha fornisce disponibili componenti aggiuntivi di FrontPage consentire agli sviluppatori Web rendere il meglio di prodotti Microsoft. Di seguito è tale indirizzo sito Web:
http://www.jimcosoftware.com (http://www.jimcosoftware.com)
Pertanto immettere pull di una sedia avviano le scarpe e leggere la colonna tutti sulla risoluzione di ASP.NET e tenere presente che è possibile inviare le proprie idee per noi utilizzando il collegamento "ASK FOR IT" incluso in ogni colonna è pubblica.

Jeremy

Hai visto il filmato Shrek? La stella del filmato, Shrek, è un ogre, un fastidioso creature verde con pulizia terribili abitudini. Nelle prime fasi il filmato Shrek proclaims la complessità della ogres pronunciando “ ogres sono come onions. Presentano livelli. ”

ASP.NET è simile a un ogre. Include numerosi livelli, il client Web, qualsiasi periferica intermedia come server proxy, il Web server e la rete ’s che tocca l'applicazione di altre risorse. Tutti i layer rendere difficile risolvere i problemi se non si conosce quale strumento da utilizzare e come utilizzare correttamente tale strumento ASP.NET.

Al rischio di apportare manualmente obsoleto, questa serie verrà descritto come utilizzare alcuni degli strumenti viene utilizzato in PSS per risolvere i problemi. Esaminare come utilizzare alcuni strumenti di davvero interessante, ad esempio:
  • Network Monitor
  • Fiddler
  • FileMon / Regmon
  • Strumenti di debug per Windows (WinDbg)
  • SOS (un'estensione di WinDbg per il debug di codice gestito)
  • DBGClr
Won’t inserire i dettagli approfonditi dell'utilizzo di questi strumenti, ma verrà forniscono è con una solida base sull'utilizzo di questi strumenti in modo che è possibile analizzare verso il basso la causa principale di molti problemi che potrebbero verificarsi.

Sniffer

Sniffer di rete verrà utilizzata la prima parte di questa serie. Let’s conseguenti a destra in.

Problema di esempio:

avere un'applicazione ASP.NET che utilizza l'autenticazione integrata di Windows e ha “ anonimo ” disattivato. Tra gli utenti segnala che non siano in grado di accedere il sito. Al contrario, viene richiesto ripetutamente un nome utente e una password. Si ritiene che le autorizzazioni siano corrette per questo utente.

Questo tipo di problema è il candidato ideale per la risoluzione utilizzando uno sniffer della rete. Uno sniffer consentirà di determinare se il client invii informazioni di autenticazione al server. Il sniffer di rete che viene utilizzato in Microsoft è Network Monitor.

Network Monitor

È possibile scaricare una versione bombed in fase di Network Monitor dal seguente sito FTP Microsoft:
ftp://ftp.microsoft.com/PSS/Tools/Netmon/Netmon2.zip (ftp://ftp.microsoft.com/PSS/Tools/Netmon/Netmon2.zip)
La password su questo file zip è la traccia . Dopo l'installazione di Network Monitor, sarà possibile individuarla facendo clic su Strumenti di amministrazione e quindi scegliere Strumenti di analisi di rete .
Selezionare l'interfaccia di rete per l'acquisizione
Quando si avvia Network Monitor per la prima volta, la prima cosa in cui che è necessario eseguire è di selezionare la scheda di rete che si desidera utilizzare nella finestra di dialogo illustrata nella figura 1.
Riduci l'immagineEspandi l'immagine
Figure 1: Choosing a network in Network
		  Monitor

nella figura 1: scelta di una rete in Network Monitor

Si noti che nella figura 1, l'interfaccia selezionata è una connessione di accesso remoto o la scheda VPN, come indicato nelle proprietà per l'interfaccia. Nella maggior parte dei casi, sarà necessario selezionare una delle interfacce diverso la connessione remota o connessione VPN. Ho scelto di utilizzare una schermata della VPN scheda don’t da scegliere Poiché desideravo visualizzare chiaramente come dovrebbe essere identificato. Ancora una volta, in quasi tutti i casi, la scheda che si desidera scegliere è quella doesn’t l'aspetto illustrato nella figura in figura uno 1.

Se si desidera modificare la scheda di rete è l'acquisizione, è possibile accedere alla finestra di dialogo per effettuare questa operazione facendo clic sull'opzione reti dal menu acquisizione .
Imposta la dimensione del buffer
Monitor di rete dispone di un buffer di acquisizione predefinito di 1 MB. Ciò significa che dopo raccoglie 1 MB di dati di rete, viene avviato sovrascrivere la traccia. In molti casi, si consiglia di aumentare tale buffer. Fare clic su Acquisisci per effettuare questa operazione, quindi Impostazioni Buffer . Questa verrà visualizzata l'Impostazioni buffer di acquisizione finestra di dialogo in cui è possibile aumentare la dimensione del buffer. La dimensione che si desidera specificare dipende dalla quanto il traffico di rete viene visualizzato sulla rete. Per un problema in cui si desidera generare i frame che si desidera immediatamente dopo l'inizio dell'acquisizione, un buffer di 2 o 3 MB è più sufficiente.

Notare che le Impostazioni Buffer di acquisizione della finestra di dialogo è inoltre possibile modificare le dimensioni della cornice. Ciò risulta utile nei casi in cui si desidera acquisire solo le intestazioni che vengono inviate. Riducendo le dimensioni della cornice, è possibile salvare spazio nel buffer e comunque acquisire le intestazioni, che è necessario. Passare in dettaglio won’t utilizzato in questo articolo.
Inizio dell'acquisizione
Ora che è stato ottenuto il set di buffer, ’re per avviare l'acquisizione dei dati. È possibile avviare l'acquisizione in molti modi diversi:
  • Premere F10 sulla tastiera.
  • Fare clic su ritaglio e quindi scegliere Avvia dal menu.
  • Fare clic sul pulsante Avvia acquisizione sulla barra degli strumenti (questo pulsante simile a un pulsante di riproduzione).
Come l'acquisizione di pacchetti con Network Monitor, si vedere misuratori di spostamento e le statistiche di modifica, come illustrato nella figura 2. Se si don’t vedere tutto ciò che si verificano quando sono l'acquisizione, è probabile che necessario modificare la scheda di rete che sono l'acquisizione.
Riduci l'immagineEspandi l'immagine
Figure 2: Network Monitor while capturing
		  packets

nella figura 2: Network Monitor durante l'acquisizione pacchetti

All'avvio di acquisizione in Network Monitor, riprodurre il problema è necessario acquisire e arrestare l'acquisizione tramite il pulsante Stop in Network Monitor, facendo clic sul ritaglio , quindi Arresta , oppure premere F11 sulla tastiera. Sono pronti esaminare i dati che è stati acquisiti.

Nota Network Monitor acquisisce solo i dati si spengono in rete. Di conseguenza, è in genere non è possibile acquisire una richiesta di contro l'applicazione Web passando alla console. In alcuni casi, l'esplorazione utilizzando l'indirizzo IP o il nome di dominio completo sarà possibile per l'acquisizione del computer locale.
Analisi dei dati acquisiti
Dopo che è interrotta l'acquisizione, è possibile visualizzare i dati acquisiti facendo clic su ritaglio e quindi fare clic su Visualizza dati acquisiti o premendo F12 sulla tastiera. Per impostazione predefinita, è possibile visualizzare tutti i dati che ha cessato attraverso la rete mentre sono stati di acquisizione come illustrato nella figura 3.
Riduci l'immagineEspandi l'immagine
Figure 3: Captured data in Network
		  Monitor

nella figura 3: acquisiti i dati in Network Monitor

In questo caso, sarebbe utile poter visualizzare solo i pacchetti HTTP. Che facilmente scopo di filtrare i dati acquisiti per visualizzare solo il protocollo HTTP. Per filtrare i dati acquisiti, fare clic su ritaglio , quindi fare clic su filtro , o premere F8 sulla tastiera o fare clic sul pulsante sulla barra degli strumenti simile a una forma di imbuto.

Nella finestra di dialogo Filtro di visualizzazione , fare doppio clic sul protocollo == qualsiasi filtro per visualizzare la finestra di dialogo espressione , come illustrato nella figura 4.
Riduci l'immagineEspandi l'immagine
Figure 4: The Expression dialog box
		  provides powerful filtering capabilities

nella figura 4: finestra di dialogo l'espressione consente di potenti funzionalità di filtro

Per impostazione predefinita, in Network Monitor vengono visualizzati tutti i protocolli. Per visualizzare solo il protocollo HTTP, fare clic su Disattiva tutto , fare doppio clic sul protocollo HTTP per selezionarlo e scegliere OK . Network Monitor verrà visualizzato solo il HTTP protocollo.

Nota È possibile filtrare Network Monitor prima di acquisire in modo che acquisisce solo i frame che corrispondono al filtro che è impostato. Nella maggior parte dei casi, preferisco filtro dopo l'acquisizione.

Dopo avere applicato i pacchetti acquisiti in modo che solo il protocollo HTTP non venga visualizzato il filtro, Network Monitor verrà visualizzato ogni frame dei dati acquisiti HTTP. Facendo un frame, è possibile esaminare informazioni dettagliate su tale pacchetto. Nello scenario che è affrontare, stiamo cercando di determinare se il client ha inviato le informazioni di autenticazione al server Web. L'acquisizione illustrato nella figura 5 mostra la risposta la richiesta GET per la pagina ASP.NET. Si noti che il server Web ha risposto nuovamente con un codice di 401 stato che indica che la pagina Web è stato negato accesso.
Riduci l'immagineEspandi l'immagine
Figure 5: Network Monitor showing an
		  “Access Denied” response when authentication is required

nella figura 5: visualizzare una risposta “ accesso negato ” quando è richiesta l'autenticazione di Network Monitor

Esaminando le intestazioni WWW-Authenticate, si vede nella figura 5 che il server Web accetta (Negozia) Kerberos e NTLM l'autenticazione. Di conseguenza, si prevede che il client invierà informazioni di autenticazione automaticamente dopo il messaggio “ accesso negato ” vediamo qui.
Numeri di sequenza
Per trovare risposta ’s il client con il pacchetto illustrato nella figura 5, è necessario esaminare i numeri di sequenza in questa risposta. Analizza il concetto di sequenza di numeri sono spesso fraintese in una revisione di Network Monitor. Rappresentano la chiave per comprendere l'ordine in cui le cose si è verificato.

Nel riquadro centrale nella figura 5, si notare che il protocollo HTTP è stato espanso per visualizzare tutte le intestazioni HTTP. Appena sopra l'HTTP protocollo è il protocollo TCP e sarà possibile visualizzare i numeri di sequenza e il numero di riconoscimento come parte del segmento TCP. I numeri di sequenza (rappresentati da seq nel pacchetto TCP) consentono di identificare il segmento TCP specifico. Ogni TCP sequenza deve essere accompagnato da un riconoscimento o il riconoscimento della sequenza.

Qui ’s un frammento dalla traccia di una richiesta HTTP GET:
11 4294967263.4294633595 LOCAL 00045A420DBC HTTP GET Request 
(from client using port 3134) DADATOP 192.168.0.4 IP 
TCP: .AP..., len: 402, seq:3410290480-3410290882, ack:1947093623, win:17520, src: 3134 dst:  80 
nota che il numero di sequenza finale è 3410290882. Di conseguenza, per trovare risposta ’s il server, è necessario individuare la cornice che riconosce tale sequenza. In altre parole, si sta cercando una risposta con un riconoscimento di 3410290882. È qui che frame:
12 4294967263.4294636605 00045A420DBC LOCAL HTTP Response (to client using port 3134) 192.168.0.4 DADATOP IP 
TCP: .A...., len: 1460, seq:1947093623-1947095083, ack:3410290882, win:65133, src:  80 dst: 3134
questi numeri sono importanti in quanto esistono situazioni quando verrà visualizzata la risposta prima la richiesta in una traccia di Network Monitor. L'unico modo per essere certi di sequenza di pacchetti consiste per controllare i segmenti utilizzando tali numeri.

Poiché ci sono necessarie tramite l'analisi per verificare se il client invii informazioni di autenticazione, è possibile utilizzare i segmenti TCP per registrare le richieste HTTP GET e la risposta dal server. Di seguito è un frammento dal frame che invia le informazioni di autenticazione dal client:
23 4294967263.4294641621 LOCAL 00045A420DBC HTTP GET Request (from client using port 3135) 192.168.0.2 192.168.0.4 IP 
HTTP: GET Request (from client using port 3135)
  HTTP: Request Method = GET
  HTTP: Uniform Resource Identifier = /webapplication1/webform1.aspx
  HTTP: Protocol Version = HTTP/1.1
  HTTP: Accept = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.
  HTTP: Accept-Language = en-us
  HTTP: Accept-Encoding = gzip, deflate
  HTTP: User-Agent = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 
  HTTP: Host = alien
  HTTP: Connection = Keep-Alive
  HTTP: Authorization = Negotiate TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAA
44 77 3D 3D 0D 0A 0D 0A         AAADw==....   
Che cosa si indicano ci? È possibile vedere che l'intestazione di autorizzazione è impostato su "Negotiate" e che è possibile vedere una lunga stringa di caratteri inviati in tale intestazione. Questa risposta indica che il client e il server sono di negoziare una connessione di NTLM. Sappiamo che l'autenticazione NTLM viene utilizzato qui perché il primo carattere è una ""t." Se si fosse "Y", sarebbe Kerberos. L'intestazione è impostata a "Negotiate" anziché "NTLM". Questo non significa che verrà utilizzato Kerberos o NTLM, ma che "Negotiate", il metodo di autorizzazione e provare innanzitutto Kerberos se è in grado di. Se non è possibile utilizzare Kerberos, verrà utilizzato NTLM.

Nella figura 6 è una schermata del frame sopra in modo che è possibile visualizzare in cui le informazioni di autenticazione viene inviate. Si noti che le intestazioni HTTP nel frame centrale sono stati espansi in modo che è possibile visualizzare i dettagli di ogni intestazione.
Riduci l'immagineEspandi l'immagine
Figure 6: The
		  frame containing authentication information

nella figura 6: il frame contenente le informazioni di autenticazione

Questo frame indica che il client è la maggior parte delle informazioni di autenticazione in modo definito mittente. Se l'utente ottiene negato l'accesso a questo punto, è possibile perché l'utente non dispone dell'autorizzazione per la risorsa o perché le informazioni di autenticazione viene modificate in qualche punto attraverso la rete.
Un altro metodo per filtrare
In molti casi, potrebbe essere troubleshooting un server dotato di numerose il traffico. In questi casi, potrebbe essere disponibile un numero elevato di frame HTTP e può essere difficile trovare quelle a destra. Utilizzando più espressioni di filtro, è possibile ottenere con facilità da destra verso i frame corretti.

Fare clic sul pulsante filtro oppure premere F8 sulla tastiera, per visualizzare la finestra di dialogo Filtro di visualizzazione . Sul lato destro, fare clic su Expression per aggiungere una nuova espressione. Esistono due diversi filtri che si desideri utilizzare in questo scenario: filtro in base a indirizzo IP e filtro per codice di stato HTTP.

Per filtrare in base a indirizzo IP, fare clic sulla scheda Proprietà e scorrere verso il basso nel riquadro di sinistra fino a visualizzare IP . Espandere IP e scorrere verso il basso fino a visualizzare Indirizzo di origine . Selezionare == per la relazione e immettere l'indirizzo IP indirizzo del computer client, come illustrato nella figura 7. Al termine di tale che, verrà visualizzato solo frame provenienti dall'indirizzo IP immesso.
Riduci l'immagineEspandi l'immagine
Figure 7: Filtering by IP
		  Address

nella figura 7: filtro in base all'indirizzo IP

’S importante tenere presente che più volte l'indirizzo IP non sia la proprietà migliore filtrare una traccia. Spesso gli utenti raggiungere un server Web tramite un router o un firewall. In questi casi, l'indirizzo IP verrà spesso essere l'indirizzo IP di router o firewall e non il client.

È inoltre possibile filtrare per codice di stato HTTP. Se si individuare rapidamente il frame in cui un 401 viene inviato al client, è possibile filtrare il codice di stato HTTP 401. A tale scopo, selezionare HTTP nell'elenco : Proprietà di protocollo ed espanderlo. Scorrere e quindi fare clic su Codice di stato . Selezionare == per la relazione, fare clic sul pulsante opzione decimali (Importante), immettere 401 nel campo valore come illustrato nella figura 8, quindi OK . Network Monitor viene visualizzata solo i frame in cui è stato inviato un codice di 401 stato, visualizzata nella figura 8.
Riduci l'immagineEspandi l'immagine
Figure 8: Filtering by HTTP status
		  code

nella figura 8: filtro per codice di stato HTTP
Dopo si trova il frame in cui è stato inviato il 401, è quindi possibile premere F7 sulla tastiera per disattivare il filtro. Il frame in cui è stato inviato il 401 ancora verrà evidenziato, e quindi è possibile esaminare i frame circostanti per risposta ’s il client di 401.

Fiddler – l'HTTP proxy di debug

Se si sta visualizzando da Internet Explorer sul computer client che si desidera risolvere, è possibile utilizzare Fiddler (illustrato nella Figura 9) invece di Network Monitor per acquisire le informazioni HTTP inviate dal client. Fiddler acquisisce solo i pacchetti HTTP e si integra direttamente in Internet Explorer.
Riduci l'immagineEspandi l'immagine
Figure 9: Fiddler

nella Figura 9: Fiddler

Nella figura 9, è possibile visualizzare la risposta 401 dal server e quindi si può visualizzare il client risponde con un'intestazione Negotiate (evidenziata). In questo caso, si verifica un errore di runtime dopo che il client invia l'autenticazione, ovvero non correlata al problema, ma possiamo chiaramente osservare che il client ha la parte inviando il ticket Kerberos.

È possibile scaricare Fiddler dal seguente sito Web:
http://www.fiddlertool.com. (http://www.fiddlertool.com)

Che cosa ’s successivo?

Utilizzando Network Monitor o Fiddler, è possibile spesso escludere il client come un problema di errori di autenticazione. Il prossimo mese, abbiamo esaminare l'utilizzo di Filemon e Regmon di SysInternals. Questi strumenti sono particolarmente utili nella risoluzione dei problemi di autorizzazione nel file system e nel Registro di sistema.
Come sempre, liberamente inviare idee sugli argomenti desiderati indirizzato in future colonne o nella Knowledge Base utilizzando il modulo Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) .

Le informazioni in questo articolo si applicano a:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Chiavi: 
kbmt kbhowto kbasp KB891032 KbMtit
Traduzione automatica articoliTraduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell’articolo: 891032  (http://support.microsoft.com/kb/891032/en-us/ )
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store