Solución de problemas de ASP.NET

Seleccione idioma Seleccione idioma
Id. de artículo: 891032 - Ver los productos a los que se aplica este artículo
Columna de voz de soporte ASP .NET: Troubleshooting ASP.NET
para personalizar esta columna a sus necesidades, deseamos invitar a enviar sus ideas sobre temas que le interesen y resuelve los problemas que se desea ver artículos de Knowledge Base en el futuro y columnas de voz de soporte. Puede enviar sus ideas y comentarios mediante el formulario Ask For It. También es un vínculo al formulario en la parte inferior de esta columna.
Expandir todo | Contraer todo

En esta página

INTRODUCCIÓN

Hola de nuevo y Bienvenido a la edición de noviembre ' 04 de la columna de voz de soporte técnico. Me gustaría agradecer Cheshire de Juan , un ingeniero de soporte aquí en Microsoft que admite ASP.NET, para su contribución. Juan tiene grandes ideas para la columna de voz de soporte y desea compartirlos. Busque contribuciones de Juan a través de los próximos meses y, como siempre, envíenos sus sugerencias para futuras columnas. Jim gracias!

Jim ha trabajado con Microsoft durante seis años en los equipos de FrontPage, VB y ASP.NET. Durante ese tiempo, ha escrito el Office Developer Center en MSDN y es autor de un libro en FrontPage, especial Edition con Microsoft Office FrontPage 2003 . Juan también tiene un sitio Web donde nos ofrece libres de complementos para FrontPage para que los programadores Web para que el máximo partido de productos de Microsoft. Aquí es esa dirección de sitio Web:
http://www.jimcosoftware.com
Por lo tanto, por favor, extracción hasta una silla, iniciar los zapatos, lea nuestra columna todo acerca de cómo solucionar ASP.NET y recuerde, puede enviar sus ideas para nosotros mediante el vínculo "ASK FOR IT" incluido en cada columna publicamos.

Jeremy

Solución de problemas de ASP.NET

¿Ha visto la película Shrek? Estrella de la película Shrek, es un ogre una criatura desagradables verde con hábitos de higiene negativas. Al principio de la película Shrek proclaims la complejidad de ogres diciendo que ? ogres son como cebolla. Tienen capas. ?

ASP.NET es muy similar un ogre. Tiene muchas capas--el cliente Web, cualquier dispositivo intermediario como servidores proxy, el Web servidor y la red que lo ?s y toca de la aplicación de cualquier otro recurso. Todas esas capas dificultan ASP.NET solucionar a menos que sepa qué herramienta utilizar y cómo correctamente utilizarla.

Con el riesgo de hacer que yo mismo obsoleta, esta serie le enseñará cómo para utilizar algunas de las herramientas utilizamos en PSS para solucionar problemas. Entraré sobre cómo usar algunas herramientas interesantes como:
  • Monitor de red
  • Fiddler
  • Filemon y Regmon
  • Herramientas de depuración para Windows (Windbg)
  • SOS (una extensión de WinDbg para depurar código administrado)
  • DBGClr
Won?t entraré en detalles profundo del uso de estas herramientas, pero se proporciona con una base sólida sobre el uso estas herramientas de modo que puede profundizar en la causa de raíz de los muchos problemas que surjan.

Rastreadores

La primera parte de esta serie se tratan con rastreadores de red. Let?s derecha profundizar en.

Problema de ejemplo:

tiene una aplicación ASP.NET que utiliza la autenticación integrada de Windows y tiene ? anónimo ? desactivado. Uno de los usuarios está informando de que no son capaces de tener acceso al sitio. En su lugar, se les pide repetidamente un nombre de usuario y una contraseña. Piensa que los permisos son correctos para este usuario.

Este tipo de problema es el candidato ideal para solucionar problemas utilizando un husmeador de redes. Un rastreador permitirá determinar si es o no el cliente es enviar información de autenticación al servidor. El husmeador de red que se utiliza en Microsoft es el Monitor de red.

Monitor de red

Puede descargar una versión limitada en vez del Monitor de red desde el sitio FTP de Microsoft siguiente:
ftp://ftp.microsoft.com/PSS/Tools/Netmon/Netmon2.zip
La contraseña en este archivo zip es seguimiento . Después de instalar a Monitor de red, podrá encontrar haciendo clic en Herramientas administrativas y, a continuación, haciendo clic en Herramientas de análisis de red .
Seleccionar la interfaz de red para capturar
Al iniciar el Monitor de red por primera vez, lo primero que debe hacer es seleccione la tarjeta de red que desee utilizar en el cuadro de diálogo que se muestra en la figura 1.
Contraer esta imagenAmpliar esta imagen
Figure 1: Choosing a network in Network
		  Monitor

figura 1: elegir una red en el Monitor de red

Observe que, en la figura 1, la interfaz seleccionada es una conexión de acceso telefónico o el adaptador VPN como se indica en las propiedades de la interfaz. En la mayoría de los casos, se desea seleccionar una de las interfaces no sea la acceso telefónico o una conexión VPN. Decidí usar una captura de pantalla de la VPN adaptador que don?t desea elegir porque quería ver claramente cómo sería identificarse. Una vez más, en casi todos los casos, el adaptador que desea elegir es el que doesn?t aspecto de la imagen en figura 1.

Si necesita cambiar la tarjeta de red está capturando, puede obtener acceso a hacerlo haciendo clic en la opción de redes en el menú captura el cuadro de diálogo.
Establecer el tamaño de búfer
El Monitor de red tiene un búfer de captura predeterminado de 1 MB. Esto significa que después recopila 1 MB de datos de la red, comienza a sobrescribir la traza. En muchos casos, quizás desee aumentar dicho búfer. Para ello, haga clic en capturar y, a continuación, haga clic en Configuración de búfer . Se mostrará el cuadro de diálogo de Configuración de búfer de captura donde puede aumentar el tamaño del búfer. El tamaño que desee especificar depende de cuánto tráfico de red que está viendo en la red. Para un problema donde desea generar las tramas que le interesa inmediatamente al iniciar la captura, un búfer de 2 o 3-MB debe ser más que suficiente.

Observa que en la Configuración de búfer de captura de cuadro de diálogo, también puede cambiar el tamaño del marco. Esto es útil en casos donde desea capturar sólo los encabezados que se envían. Disminuyendo el tamaño del marco, puede guardar espacio en el búfer y todavía capturar los encabezados que necesita. Won?t entraré en detalles sobre el uso en este artículo.
Iniciar la captura
Ahora que tiene el conjunto de búfer, ?re listo para iniciar la captura de datos. Puede iniciar la captura de varias maneras diferentes:
  • Presione F10 en el teclado.
  • Haga clic en capturar y, a continuación, haga clic en Inicio , en el menú.
  • Haga clic en el botón Iniciar captura de la barra de herramientas (este botón tiene un botón de reproducción).
Como capturar paquetes con Monitor de red, ver los metros mover y las estadísticas cambiar, como se muestra en la figura 2. Si don?t ve nada ocurre cuando se captura, probablemente deberá cambiar la tarjeta de red que está capturando.
Contraer esta imagenAmpliar esta imagen
Figure 2: Network Monitor while capturing
		  packets

figura 2: Monitor de red al capturar paquetes

Después de inicia la captura en el Monitor de red, reproducir el problema que necesita para capturar y, a continuación, detenga la captura con el botón Detener en Monitor de red, haciendo clic en capturar y, a continuación, en Detener , o presionando F11 en el teclado. Ahora está listo para examinar los datos que se capturan.

Nota El Monitor de red captura sólo los datos que sale a través del cable. Por lo tanto, se normalmente no se puede capturar una solicitud contra la aplicación Web explorando en la consola. En algunos casos, mediante su dirección IP o nombre de dominio completo de la exploración le permitirá capturar en el equipo local.
Examinar los datos capturados
Una vez detenido la captura, puede ver los datos capturados haciendo clic en capturar y, a continuación, haciendo clic en Mostrar datos capturados , o presionando F12 en el teclado. De forma predeterminada, verá todos los datos que se pasó a través del cable mientras se captura como en la figura 3.
Contraer esta imagenAmpliar esta imagen
Figure 3: Captured data in Network
		  Monitor

figura 3: capturados los datos en el Monitor de red

En este caso, sería beneficioso poder ver sólo los paquetes HTTP. Que logra fácilmente mediante el filtrado de los datos capturados para mostrar sólo el protocolo HTTP. Para filtrar los datos capturados, haga clic en la captura y a continuación, haga clic en filtro , o presione F8 en el teclado o haga clic en el botón barra de herramientas que parece un embudo.

En el cuadro de diálogo Filtro de presentación , haga doble clic en el protocolo == cualquiera filtro para mostrar el cuadro de diálogo expresión tal como se muestra en la figura 4.
Contraer esta imagenAmpliar esta imagen
Figure 4: The Expression dialog box
		  provides powerful filtering capabilities

figura 4: expresión el cuadro de diálogo proporciona capacidades de filtrado eficaces

De forma predeterminada, Monitor de red muestra todos los protocolos. Para mostrar sólo el protocolo HTTP, haga clic en Deshabilitar todo , haga doble clic en el protocolo HTTP para seleccionarlo y, a continuación, haga clic en Aceptar . El Monitor de red mostrará sólo el HTTP protocolo.

Nota Puede filtrar el Monitor de red antes de capturar para que sólo captura tramas que coincidan con el filtro que defina. En la mayoría de los casos, prefiero filtrar después de la captura.

Tras filtrar los paquetes capturados para que se muestre sólo el protocolo HTTP, el Monitor de red mostrará cada marco de los datos capturados de HTTP. Haciendo doble clic en un marco, puede revisar información detallada acerca de ese paquete. En el escenario que se tratar, estamos intentando determinar si el cliente ha enviado ninguna información de autenticación al servidor Web. La captura que se muestra en la figura 5 muestra la respuesta de la solicitud GET para la página ASP.NET. Observe que el servidor Web ha respondido volver con un código de 401 estado que indica que se denegó el acceso a la página Web.
Contraer esta imagenAmpliar esta imagen
Figure 5: Network Monitor showing an
		  ?Access Denied? response when authentication is required

figura 5: Monitor de red que muestra una respuesta ? acceso denegado ? cuando se requiere autenticación

Al mirar los encabezados WWW-Authenticate, podrá ver en la figura 5 que el servidor Web acepta (Negotiate) de Kerberos y NTLM autenticación. Por lo tanto, esperamos que el cliente enviará información de autenticación automáticamente después del mensaje ? acceso denegado ? vemos aquí.
Números de secuencia
Para buscar respuesta el cliente ?s al paquete que se muestra en la figura 5, debemos consultar los números de secuencia en esta respuesta. Traza el concepto de secuencia de números con frecuencia es incomprendido en una revisión del Monitor de red. Son la clave para entender el orden en que se ha producido cosas.

En el panel central en la figura 5, observa que el protocolo HTTP se ha expandido para mostrar todos los encabezados HTTP. Justo encima de la HTTP protocolo es el protocolo TCP, y puede ver los números de secuencia y el número de confirmación como parte del segmento de TCP. Los números de secuencia (representados por seq en el paquete TCP) proporcionan una forma para identificar el segmento TCP específico. Cada TCP secuencia debe ir acompañado de una confirmación o confirmación de esa secuencia.

Aquí ?s un fragmento de la traza de una solicitud 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 
tenga en cuenta que el número de secuencia final es 3410290882. Por lo tanto, para buscar respuesta el servidor ?s, debe encontrar el marco que reconoce esa secuencia. En otras palabras, que está buscando una respuesta con una confirmación de 3410290882. Aquí es ese marco:
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
estos números son importantes porque hay ocasiones cuando la respuesta aparecerá antes de la solicitud de una traza de Monitor de red. La única forma de determinados del orden de los paquetes es comprobar los segmentos con estos números.

Puesto que se buscan a través de esta traza para ver si el cliente está enviando información de autenticación, podemos utilizar los segmentos TCP para registrar las solicitudes HTTP GET y la respuesta del servidor. Aquí es un fragmento del marco que envía información de autenticación del cliente:
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==....   
¿Esto qué nos? Podemos ver que el encabezado de autorización está establecido a "Negotiate" y podemos ver una larga cadena de caracteres enviados en ese encabezado. Esta respuesta indica que el cliente y el servidor negociación una conexión de NTLM. Sabemos que la autenticación NTLM se utiliza aquí porque el primer carácter es un ' "T." Si se "Y", sería Kerberos. El encabezado se establece en "Negotiate" en lugar de "NTLM". Esto no significa utilizará Kerberos o NTLM, pero que se "Negotiate" el método de autorización y pruebe primero Kerberos si es capaz. Si no puede utilizar Kerberos, utilizará NTLM.

Figura 6 es una captura de pantalla del marco muestran anteriormente de modo que puede ver que se envía la información de autenticación. Tenga en cuenta que se han ampliado los encabezados HTTP en el marco central para que se puedan ver los detalles de cada encabezado.
Contraer esta imagenAmpliar esta imagen
Figure 6: The
		  frame containing authentication information

figura 6: el marco que contiene información de autenticación

Este marco nos indica que el cliente es la mayoría definitivamente enviar información de autenticación. Si deniega el obtiene acceso al usuario en este momento, es o bien porque el usuario no tiene permiso para el recurso o es porque se cambia la información de autenticación en algún momento a través del cable.
Otra forma de filtrar
En muchos casos, que puede solucionando un servidor que tenga mucho tráfico. En esos casos, que puede encontrar un gran número de tramas HTTP y puede ser difícil encontrar los derecho. Mediante expresiones de filtrado más, puede fácilmente obtener derecho a los marcos correctos.

Haga clic en el botón filtro o presione F8 en el teclado, para que aparezca el cuadro de diálogo Filtro de visualización . En el lado derecho, haga clic en expresión para agregar una nueva expresión. Hay dos filtros diferentes que desea utilizar en este escenario: filtro por dirección IP y filtrar por código de estado HTTP.

Para filtrar por dirección IP, haga clic en la ficha y desplácese hacia abajo en el panel izquierdo hasta que vea IP . Expanda IP y desplácese hacia abajo hasta que vea Dirección de origen . Seleccione == para la relación y escriba la dirección IP dirección del equipo cliente como en la figura 7. Después de eso, sólo verá marcos procedentes de la dirección IP introducida.
Contraer esta imagenAmpliar esta imagen
Figure 7: Filtering by IP
		  Address

figura 7: filtrado por dirección IP

?S importante observar que muchas veces la dirección no sea la propiedad mejor filtrar una traza. A menudo los usuarios se alcanzando a un servidor Web a través de un enrutador o un servidor de seguridad. En esos casos, la dirección IP se suele ser la dirección IP del enrutador o servidor de seguridad y no del cliente.

También puede filtrar por código de estado HTTP. Si desea localizar el marco donde se envía un 401 al cliente, puede filtrar en el código de estado HTTP 401. Para ello, seleccione HTTP en la lista Protocolo: propiedad y expándalo. Desplácese hacia abajo y, a continuación, haga clic en Código de estado . Seleccione == para la relación, haga clic en el botón de radio decimales (importante), escriba 401 en el campo de valor como se muestra en la figura 8 y, a continuación, haga clic en Aceptar . El Monitor de red mostrará sólo aquellas tramas que se envió un código de 401 estado, como se muestra en la figura 8.
Contraer esta imagenAmpliar esta imagen
Figure 8: Filtering by HTTP status
		  code

figura 8: filtrar mediante código de estado HTTP
Una vez encuentra el marco donde se ha enviado el 401, a continuación, puede presionar F7 en el teclado para desactivar el filtro. Todavía se resaltará el marco donde se ha enviado el 401 y, a continuación, puede examinar los marcos adyacentes de respuesta ?s cliente el 401.

Fiddler ? el HTTP proxy de depuración

Si está explorando desde Internet Explorer en el equipo cliente que está solucionando problemas, puede utilizar Fiddler (mostrado en la figura 9) en lugar de Monitor de red para capturar la información HTTP enviada desde el cliente. Fiddler captura sólo los paquetes HTTP y se integra directamente en Internet Explorer.
Contraer esta imagenAmpliar esta imagen
Figure 9: Fiddler

figura 9: Fiddler

En la figura 9, puede ver la respuesta 401 desde el servidor y, a continuación, puede ver el cliente responde con un encabezado Negotiate (resaltado). En este caso, se produce un error en tiempo de ejecución después el cliente envía autenticación (que está relacionado con este problema), pero se puede ver claramente que el cliente hizo su parte, envía el vale Kerberos.

Puede descargar Fiddler desde el siguiente sitio Web:
http://www.fiddlertool.com.

¿Qué ?s siguiente?

Mediante Monitor de red o Fiddler, puede a menudo descartar el cliente como un problema de errores de autenticación. Próximo mes, vamos sobre cómo utilizar Filemon y Regmon de SysInternals. Estas herramientas son especialmente útiles para solucionar problemas de permisos en el sistema de archivos y en el registro.
Como siempre, quieres enviar ideas sobre temas que desea tratados en futuras columnas o en Knowledge Base utilizando Ask For It.

Propiedades

Id. de artículo: 891032 - Última revisión: jueves, 24 de enero de 2008 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Palabras clave: 
kbmt kbhowto kbasp KB891032 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 891032

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com