REVISIÓN: Mensaje de error cuando una aplicación cliente que se basa en .NET Framework 2.0 envía una solicitud a un servidor que ejecuta Windows Communication Foundation: "HTTP/1.1 500 Error interno del servidor"

Seleccione idioma Seleccione idioma
Id. de artículo: 939670 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando una aplicación de cliente que se integra en Microsoft .NET Framework 2.0 envía una solicitud a un servidor que se está ejecutando Windows Communication Foundation (WCF), el servidor devuelve un mensaje de error HTTP 500 similar al siguiente:
HTTP/1.1 500 Error interno del servidor Content-Length: 0
El problema se produce cuando se cumplen las condiciones siguientes:
  • El servidor recibe una solicitud HTTP y el servidor devuelve los resultados como Plain Old XML (POX).
  • La solicitud que envía la aplicación cliente no utiliza un encabezado de host.

Causa

Este problema se produce porque el servidor utiliza el objeto HttpListenerRequest para describir la solicitud entrante de la aplicación cliente. Cuando la solicitud no utiliza un encabezado de host, el valor devuelto del objeto de URI en el objeto HttpListenerRequest es el valor NULL .

Solución

Información de revisiones

Hay una revisión compatible de Microsoft. Sin embargo, se diseñó para corregir el problema descrito en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico. Este hotfix puede ser sometido a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere al próximo service pack de .NET Framework 2.0 que contenga este hotfix.

Para resolver este problema inmediatamente, póngase en contacto con servicios de soporte de cliente de Microsoft para obtener la revisión. Para obtener una lista completa de los números de teléfono de los servicios de soporte técnico de Microsoft e información acerca de los costos de soporte, visite el siguiente sitio Web:
http://support.microsoft.com/contactus/?ws=support
Nota en casos especiales, los costos derivados normalmente de las llamadas al soporte técnico pueden cancelarse si un profesional de soporte técnico de Microsoft determina que una actualización específica resolverá el problema. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con la actualización en cuestión.

Requisitos previos

Debe tener .NET Framework 2.0 instalado para aplicar esta revisión.

Requisito de reinicio

No es necesario reiniciar el equipo después de aplicar este hotfix.

Información acerca de la sustitución de la revisión

Este hotfix no sustituye a otros hotfix.

Información de archivo

La versión en inglés de este hotfix tiene los atributos de archivo (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y las horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria el elemento fecha y hora en el panel de control.
Contraer esta tablaAmpliar esta tabla
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataforma
Microsoft.JScript.dll8.0.50727.898749,56828-Jun-200719: 30x 86
System.dll2.0.50727.8982,940,92828-Jun-200719: 30x 86

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Para obtener más información acerca de la terminología relativa de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Información de la pila de llamadas

Cuando se produce este problema, se genera la siguiente pila de llamadas:
0:003> r
eax=50df29ec ebx=00fbf87c ecx=00000000 edx=013e0a84 esi=013fbfc4 edi=013fbfc4
eip=5088566b esp=00fbf790 ebp=00fbf7c8 iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010206
System_ServiceModel_ni!System.ServiceModel.Channels.BaseUriWithWildcard.GetHashCode()+0x7:
5088566b 3909            cmp     dword ptr [ecx],ecx  ds:0023:00000000=????????

0:003> kpL500
ChildEBP RetAddr  
00fbf7c8 508855a8 System_ServiceModel_ni!System.ServiceModel.Channels.BaseUriWithWildcard.GetHashCode(<HRESULT 0x80004001>)+0x7
00fbf7c8 50929c15 System_ServiceModel_ni!System.ServiceModel.Channels.BaseUriWithWildcard.Equals(<HRESULT 0x80004001>)+0x28
00fbf7c8 5092ae80 System_ServiceModel_ni!System.ServiceModel.Channels.MruCache`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].TryGetValue(<HRESULT 0x80004001>)+0x35
00fbf7ec 5092af47 System_ServiceModel_ni!System.ServiceModel.Channels.UriPrefixTable`1[[System.__Canon, mscorlib]].TryCacheLookup(<HRESULT 0x80004001>)+0x2c
00fbf82c 508e6e54 System_ServiceModel_ni!System.ServiceModel.Channels.UriPrefixTable`1[[System.__Canon, mscorlib]].TryLookupUri(<HRESULT 0x80004001>)+0x57
00fbf868 50912ee8 System_ServiceModel_ni!System.ServiceModel.Channels.HttpTransportManager.TryLookupUri(<HRESULT 0x80004001>)+0xb0
00fbf8a0 7a571b3d System_ServiceModel_ni!System.ServiceModel.Channels.SharedHttpTransportManager.SelectAuthenticationScheme(<HRESULT 0x80004001>)+0x3c
00fbfa58 7a5bd6ae System_ni!System.Net.HttpListener.HandleAuthentication(<HRESULT 0x80004001>)+0x2c5
00fbfa98 793d6ac4 System_ni!System.Net.ListenerAsyncResult.WaitCallback(<HRESULT 0x80004001>)+0xca
00fbfab8 79e88f63 mscorlib_ni!System.Threading._IOCompletionCallback.PerformIOCompletionCallback(<HRESULT 0x80004001>)+0x68
00fbfacc 79e88ee4 mscorwks!CallDescrWorker(unsigned long pSrcEnd = 0xfbfc80, unsigned long numStackSlots = 1, unsigned long pArgumentRegisters = 0xfbfc74, unsigned long fpRetSize = 0, unsigned long pTarget = 0x793d6a5c)+0x33
00fbfb4c 79f20212 mscorwks!CallDescrWorkerWithHandler(void * pSrcEnd = 0x00fbfc80, unsigned int numStackSlots = 1, struct ArgumentRegisters * pArgumentRegisters = 0x00fbfc74, unsigned int fpReturnSize = 0, void * pTarget = 0x793d6a5c, int fCriticalCall = 0)+0xa3
00fbfb6c 79f201bc mscorwks!DispatchCallBody(unsigned long * pSrc = 0x00fbfc7c, unsigned long numStackSlotsToCopy = 1, unsigned long * pRegisterArgs = 0x00fbfc74, unsigned int64 uRegTypeMap = 0, void * pvRetBuff = 0x00000000, unsigned int64 cbRetBuff = 0, unsigned int fpRetSize = 0, unsigned char * pTargetAddress = 0x793d6a5c "U???")+0x1e
00fbfbd0 79f2024b mscorwks!DispatchCallDebuggerWrapper(unsigned long * pSrc = 0x00fbfc7c, unsigned long numStackSlotsToCopy = 1, unsigned long * pRegisterArgs = 0x00fbfc74, unsigned int64 uRegTypeMap = 0, void * pvRetBuff = 0x00000000, unsigned int64 cbRetBuff = 0, unsigned int fpRetSize = 0, unsigned char * pTargetAddress = 0x793d6a5c "U???", class ContextTransitionFrame * pFrame = 0x00000000)+0x3d
00fbfc04 7a07bebf mscorwks!DispatchCallNoEH(unsigned long * pSrc = 0x00fbfc7c, unsigned long numStackSlotsToCopy = 1, unsigned long * pRegisterArgs = 0x00fbfc74, unsigned int64 uRegTypeMap = 0, void * pvRetBuff = 0x00000000, unsigned int64 cbRetBuff = 0, unsigned int fpRetSize = 0, unsigned char * pTargetAddress = 0x793d6a5c "U???")+0x51
00fbfcac 79ecb4a4 mscorwks!BindIoCompletionCallBack_Worker(void * args = 0x013d4920)+0x123
00fbfcbc 79ecb442 mscorwks!ManagedThreadBase_DispatchInner(struct ManagedThreadCallState * pCallState = 0x79ecb364)+0x4d
00fbfd50 79ecb364 mscorwks!ManagedThreadBase_DispatchMiddle(struct ManagedThreadCallState * pCallState = 0x00fbfd98)+0xb0
00fbfd8c 7a0e1b7e mscorwks!ManagedThreadBase_DispatchOuter(struct ManagedThreadCallState * pCallState = 0x00fbfd98)+0x6d
00fbfdb4 7a0e1bab mscorwks!ManagedThreadBase_FullTransitionWithAD(struct ADID pAppDomain = struct ADID, <function> * pTarget = 0x7a07bdfe, void * args = 0x00fbfdec, UnhandledExceptionLocation filterType = ThreadPoolThread (4))+0x25
00fbfdc8 7a07c031 mscorwks!ManagedThreadBase::ThreadPool(struct ADID pAppDomain = struct ADID, <function> * pTarget = 0x00000000, void * args = 0x00000244)+0x13
00fbfe1c 7a07c063 mscorwks!BindIoCompletionCallbackStubEx(unsigned long ErrorCode = 0, unsigned long numBytesTransferred = 0x244, struct _OVERLAPPED * lpOverlapped = 0x013d494c, int setStack = 1)+0x8c
00fbfe30 79f2f3b0 mscorwks!BindIoCompletionCallbackStub(unsigned long ErrorCode = 0x880b220, unsigned long numBytesTransferred = 1, struct _OVERLAPPED * lpOverlapped = 0x00fbfc48)+0x13
00fbfe94 79ecb00b mscorwks!ThreadpoolMgr::CompletionPortThreadStart(void * lpArgs = 0x0880b220)+0x406
00fbffb8 77e6608b mscorwks!Thread::intermediateThreadProc(void * arg = 0x001aa600)+0x49
00fbffec 00000000 kernel32!BaseThreadStart(<function> * lpStartAddress = 0x79ecafc5, void * lpParameter = 0x001aa600)+0x34

Propiedades

Id. de artículo: 939670 - Última revisión: miércoles, 18 de julio de 2007 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft .NET Framework 2.0
Palabras clave: 
kbmt kbfix kbexpertiseadvanced kbpubtypekc kbqfe kbhotfixserver KB939670 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): 939670

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