FIX: Messaggio di errore quando un'applicazione client che si basa su .NET Framework 2.0 invia una richiesta a un server che esegue Windows Communication Foundation: "HTTP/1.1 500 Errore interno del server"

Traduzione articoli Traduzione articoli
Identificativo articolo: 939670 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Quando un'applicazione client basata su Microsoft .NET Framework 2.0 invia una richiesta a un server che esegue Windows Communication Foundation (WCF), il server restituisce un messaggio di errore HTTP 500 analogo al seguente:
Errore interno del server HTTP/1.1 500 Content-Length: 0
Questo problema si verifica se le seguenti condizioni sono vere:
  • Il server riceve una richiesta HTTP e il server restituisce i risultati come POX (Plain Old XML).
  • La richiesta che invia l'applicazione client non utilizza un'intestazione host.

Cause

Questo problema si verifica perché il server utilizza l'oggetto HttpListenerRequest per descrivere la richiesta in ingresso dall'applicazione client. Quando la richiesta non utilizza un'intestazione host, il valore restituito dell'oggetto URI in oggetto HttpListenerRequest è il valore NULL .

Risoluzione

Informazioni sull'hotfix

È ora disponibile un hotfix supportato. Tuttavia è destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo a sistemi che si verifica questo problema specifico. Questo aggiornamento rapido (hotfix) potrebbe essere eseguiti ulteriori test. Se non si è notevolmente interessati da questo problema, si consiglia pertanto di attendere il rilascio del prossimo service pack di .NET Framework 2.0 che contiene questo aggiornamento rapido (hotfix).

Per risolvere immediatamente questo problema, contattare il servizio di supporto clienti di Microsoft per ottenere l'hotfix. Per un elenco completo di numeri di telefono del supporto tecnico clienti Microsoft e per informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota in casi particolari, le spese normalmente addebitate per le chiamate al Servizio Supporto Tecnico Clienti Microsoft potrebbero essere annullate qualora un addetto del Supporto Tecnico Microsoft dovesse determinare che uno specifico aggiornamento risolverà il problema. I normali costi del Servizio Supporto Tecnico Clienti verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

Prerequisiti

È necessario .NET Framework 2.0 per applicare questo aggiornamento rapido (hotfix).

Necessità di riavvio

Non è necessario riavviare il computer dopo avere applicato questo aggiornamento rapido (hotfix).

Informazioni sulla sostituzione della correzione

Questo aggiornamento rapido (hotfix) non sostituisce eventuali altri hotfix.

Informazioni sui file

La versione di lingua inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e le ore per questi file sono indicati in UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello Data e ora nel Pannello di controllo.
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
Microsoft.JScript.dll8.0.50727.898749,56828-Giu-200719: 30x 86
System.dll2.0.50727.8982,940,92828-Giu-200719: 30x 86

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Informazioni

Per ulteriori informazioni sulla terminologia di aggiornamento software, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Informazioni dello stack di chiamate

Quando si verifica questo problema, viene generato il seguente stack di chiamate:
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

Proprietà

Identificativo articolo: 939670 - Ultima modifica: mercoledì 18 luglio 2007 - Revisione: 1.0
Le informazioni in questo articolo si applicano a:
  • Microsoft .NET Framework 2.0
Chiavi: 
kbmt kbfix kbexpertiseadvanced kbpubtypekc kbqfe kbhotfixserver KB939670 KbMtit
Traduzione 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: 939670
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.

Invia suggerimenti

 

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