FIX: Quando un'applicazione di base di .NET Framework utilizza la classe System.Threading.Timer, l'evento del timer potrebbe non essere segnalato in .NET Framework 1.1 SP1

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

Sintomi

Quando un'applicazione di Microsoft .NET Framework gestita utilizza la classe System.Threading.Timer in Microsoft .NET Framework 1.1 Service Pack 1 (SP1), potrebbe non essere segnalato l'evento del timer. Questo problema si verifica in genere, se il computer che esegue l'applicazione Ŕ in un carico pesante o se molti oggetti timer in esecuzione.

Risoluzione

Informazioni sull'hotfix



╚ disponibile un hotfix supportato. Questo hotfix Ŕ tuttavia destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Consente di applicare questo aggiornamento rapido (hotfix) solo ai sistemi in cui 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 successivo aggiornamento di software che contiene questo aggiornamento rapido (hotfix).

Per scaricare questo aggiornamento rapido (hotfix) da MSDN Code Gallery, il seguente sito Microsoft Web:
http://code.msdn.microsoft.com/KB900822

Nota MSDN Code Gallery vengono visualizzate le lingue per i quali l'aggiornamento rapido Ŕ disponibile. Se non viene visualizzata la lingua elencata, Ŕ perchÚ la pagina di risorse di Code Gallery non Ŕ disponibile per tale lingua.

Nota Se si verificano ulteriori problemi o se la risoluzione dei problemi Ŕ necessario, potrebbe essere necessario creare una richiesta di servizio separato. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico hotfix in questione. Per un elenco completo, di Microsoft Customer Service and Support numeri di telefono o a creare una richiesta di servizio distinto, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support

Prerequisiti

Microsoft .NET framework 1.1 SP1

NecessitÓ di riavvio

Non Ŕ necessario riavviare il computer una volta applicato questo aggiornamento software.

Informazioni sulla sostituzione di aggiornamento software

Questo aggiornamento software non sostituisce eventuali altri aggiornamenti software.

Informazioni sui file

La versione di inglese di questo aggiornamento software 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 strumento Data e ora del Pannello di controllo.
   Date         Time   Version        Size       File name
   ----------------------------------------------------------
   09-Jun-2005  05:46  1.1.4322.2331  2,138,112  Mscorlib.dll
   09-Jun-2005  05:48                    10,908  Mscorlib.ldo
   09-Jun-2005  05:56  1.1.4322.2331  2,519,040  Mscorsvr.dll
   09-Jun-2005  05:57  1.1.4322.2331  2,506,752  Mscorwks.dll

Status

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

Informazioni

Le classi Timer vengono implementate come un elenco collegato di oggetti timer. Quando viene creato il primo oggetto System.Threading.Timer , il gestore del pool di thread avvia un thread per elaborare l'elenco collegato. Ogni oggetto timer viene aggiunto l'elenco collegato. Il thread che elaborano l'elenco collegato scorre l'elenco collegato e determina quando l'evento del timer deve essere segnalato contro il conteggio corrente di orologio.

Se l'oggetto timer Ŕ scaduto, il thread Accoda una funzione di callback in modo asincrono prima che il thread aggiorni il tempo che deve essere segnalato l'evento del timer. Una volta che il thread ha elaborato tutti gli oggetti timer dell'elenco collegato, il thread aggiornata l'ora di ultima elaborazione dell'elenco collegato. Quindi, il thread di calcola il tempo pi¨ breve che il thread di inattivitÓ prima che il thread Rielabora dell'elenco collegato per il successivo trascorso oggetto timer.

In alcuni casi, quando il sistema Ŕ sottoposto a sottolineare o quando l'elenco collegato include molti oggetti timer, il thread di elaborazione pu˛ essere pre-empted da un thread con prioritÓ maggiore prima collegato l'intero elenco Ŕ stato elaborato. Quando si verifica questo comportamento, il tempo che un evento del timer successivo deve essere segnalato viene calcolato come il timestamp precedente ultima elaborazione dell'elenco collegato. Di conseguenza, il tempo che deve essere segnalato l'evento del timer Ŕ nel passato e scadenza.

PerchÚ il tempo che deve essere segnalato l'evento del timer Ŕ giÓ trascorsa, il thread pu˛ calcolare un periodo di attesa prima dell'evento del timer deve essere segnalato negativo. Quando il thread ha un periodo di attesa negativo, il thread entra uno stato di sospensione per un lungo periodo di tempo.
Per ulteriori informazioni, 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

ProprietÓ

Identificativo articolo: 900822 - Ultima modifica: lunedý 3 dicembre 2007 - Revisione: 2.12
Le informazioni in questo articolo si applicano a:
  • Microsoft .NET Framework 1.1 Service Pack 1
Chiavi:á
kbmt kbwinserv2003sp2fix kbfix kbbug kbpubtypekc kbqfe KB900822 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: 900822
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