CORRECÇÃO: Mensagem de erro quando um aplicativo cliente que se baseia no .NET Framework 2.0 envia uma solicitação para um servidor que esteja executando o Windows Communication Foundation: "HTTP/1.1 500 Erro interno do servidor"

Traduções deste artigo Traduções deste artigo
ID do artigo: 939670 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando um aplicativo cliente que baseia-se em Microsoft .NET Framework 2.0 envia uma solicitação para um servidor que esteja executando o WCF (Windows Communication Foundation), o servidor retorna uma mensagem de erro HTTP 500 semelhante à seguinte:
Erro de servidor interno 500 HTTP/1.1 Content-Length: 0
Esse problema ocorre se as seguintes condições forem verdadeiras:
  • O servidor recebe uma solicitação HTTP e o servidor retorna os resultados como XML POX (Plain Old).
  • A solicitação que envia o aplicativo cliente não usa um cabeçalho de host.

Causa

Esse problema ocorre porque o servidor usa o objeto HttpListenerRequest para descrever a solicitação de entrada do aplicativo cliente. Quando a solicitação não usa um cabeçalho de host, o valor retornado do objeto URI no objeto HttpListenerRequest é o valor NULL .

Resolução

Informações sobre o hotfix

Um hotfix com suporte foi disponibilizada pela Microsoft. No entanto, destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde o próximo service pack do .NET Framework 2.0 que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Microsoft Customer Atendimento para obter o hotfix. Para obter uma lista completa de telefones do serviço de suporte a clientes da Microsoft e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação Em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

Pré-requisitos

Você deve ter o .NET Framework 2.0 instalado para aplicar esse hotfix.

Requisitos de reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações sobre a substituição do hotfix

Esse hotfix não substitui outros hotfixes.

Informações sobre o arquivo

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Microsoft.JScript.dll8.0.50727.898749,56828 De junho de 200719: 30x 86
System.dll2.0.50727.8982,940,92828 De junho de 200719: 30x 86

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Informações de pilha de chamada

Quando esse problema ocorre, a seguinte pilha de chamada é gerada:
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

Propriedades

ID do artigo: 939670 - Última revisão: quarta-feira, 18 de julho de 2007 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbmt kbfix kbexpertiseadvanced kbpubtypekc kbqfe kbhotfixserver KB939670 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 939670

Submeter comentários

 

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