Correzione: Il thread di lavoro del pool di thread CLR primo non viene mai inizializzato per COM+ in un'applicazione Web ASP.NET è configurata in modo da eseguire in.NET Framework 2.0

Sintomi

In un'applicazione Web di Microsoft ASP.NET è configurata per l'esecuzione con il Microsoft.NET Framework 2.0, il primo common language runtime (CLR) thread pool thread di lavoro non verrà mai inizializzato per Microsoft COM+. ASP.NET utilizza un'API del pool di thread non gestito e Common Language Runtime non viene avviata ancora quando ASP.NET Accoda il primo elemento di lavoro.

Risoluzione

Informazioni sull'hotfix

Un hotfix supportato è disponibile da Microsoft, tuttavia è destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo ai sistemi che si verificano questo problema specifico. Questo hotfix potrebbe essere sottoposto ad ulteriori test. Pertanto, se il problema non causa gravi difficoltà, consiglia di attendere la versione successiva del Service pack di.NET Framework 2.0 contenente tale hotfix.

Per risolvere immediatamente questo problema, contattare il supporto tecnico clienti Microsoft per ottenere l'hotfix. Per un elenco completo dei numeri di telefono supporto tecnico clienti Microsoft e informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft:Nota: In casi particolari, le spese normalmente addebitate per le chiamate di supporto potrebbero essere annullate qualora un addetto al supporto Microsoft determina che uno specifico aggiornamento risolverà il problema. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

Prerequisiti

È necessario disporre di.NET Framework 2.0 prima di applicare questo hotfix.

Richiesta di riavvio

Non è necessario riavviare il computer dopo avere applicato questo hotfix.

Informazioni sulla sostituzione dell'aggiornamento rapido

Questo hotfix non sostituisce eventuali altri aggiornamenti rapidi.

Informazioni sui file

La versione inglese di questo hotfix presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate in base al formato UTC (Coordinated Universal Time Coordinated). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e ora locale, utilizzare la scheda fuso orario nell'elemento di data e ora nel Pannello di controllo.
Nome del fileVersione del fileDimensione del fileDataOra
Mscorjit.dll2.0.50727.238299,52010-Nov-200600:25
Mscorlib.dll2.0.50727.2383,952,64015-Nov-200619:37
Mscorpe.dll2.0.50727.238102,91210-Nov-200600:23
Mscorwks.dll2.0.50727.2385,703,16815-Nov-200619:36
Normalization.dll2.0.50727.23815,36010-Nov-200600:25
Normidna.nlpNon applicabile59,34227-Mar-200617:58
Normnfc.nlpNon applicabile45,79421-Jun-200623:38
Normnfd.nlpNon applicabile39,28421-Jun-200623:38
Normnfkc.nlpNon applicabile66,38421-Jun-200623:38
Normnfkd.nlpNon applicabile60,29421-Jun-200623:38
Peverify.dll2.0.50727.238136,19210-Nov-200600:25
Sos.dll2.0.50727.238382,46410-Nov-200600:29

Stato

Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".

Ulteriori informazioni

Questo problema fornisce un'opportunità per qualsiasi codice non gestito sul thread per inizializzare il thread di apartment a thread singolo (STA), chiamare la funzione CoInitialize . Dopo il codice non gestito consente di inizializzare il thread STA, Common Language Runtime si comporta come se il thread è ancora inizializzato come apartment con multithreading (MTA). Pertanto, il CLR non pump come previsto e CLR può bloccare il thread del finalizzatore in modo indefinito. Quando il thread del finalizzatore è bloccato in modo indefinito, possono verificarsi errori di memoria esaurita (OOM). Inoltre, il file Comsvcs. dll potrebbe causare una violazione di accesso se il thread viene modificato in STA all'interno di una chiamata COM +.

Tutti gli altri thread del pool lavoratore vengono inizializzati in modo esplicito al MTA. Nei thread, una chiamata alla funzione CoInitialize ha esito negativo anziché effettivamente il thread alla STA.

Nota: Quando una chiamata alla funzione CoInitialize non riesce, viene in genere per il codice non gestito inizializzare il thread STA prima e quindi tenta di inizializzare l'agente di trasferimento messaggi del thread.

Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

824684 descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Proprietà

ID articolo: 928569 - Ultima revisione: 31 gen 2017 - Revisione: 1

Feedback