Update: Wenn eine .NET Framework-basierten Anwendung System.Threading.Timer-Klasse verwendet, kann das Timer-Ereignis nicht in .NET Framework 1.1 SP1 signalisiert werden

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 900822 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Wenn eine verwaltete Microsoft .NET Framework-Anwendung in Microsoft .NET Framework 1.1 Service Pack 1 (SP1) die System.Threading.Timer -Klasse verwendet, kann das Timer-Ereignis nicht signalisiert. Dieses Problem tritt normalerweise auf, wenn dem Computer mit die Anwendung starker Auslastung ist oder viele Zeitgeberobjekte ausgeführt werden.

Lösung

Hotfix-Informationen



Es ist ein unterstützter Hotfix von Microsoft erhältlich. Der Hotfix ist jedoch nur die Behebung des Problems die in diesem Artikel beschriebene vorgesehen. Installieren Sie diesen Hotfix nur auf Systemen, bei die dieses spezielle Problem auftritt. Dieser Hotfix kann einem späteren Zeitpunkt zusätzliche Tests unterzogen. Wenn durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfiehlt Microsoft daher, auf die nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Um diesen Hotfix aus der MSDN Code Gallery herunterzuladen, die folgende Microsoft-Website:
http://code.msdn.microsoft.com/KB900822

Hinweis: Der MSDN Code Gallery werden die Sprachen für die der Hotfix verfügbar ist angezeigt. Wenn Ihre Sprache aufgeführt nicht angezeigt wird, ist es, da Code Gallery-Ressourcenseite nicht für diese Sprache zur Verfügung steht.

Hinweis: Wenn weitere Probleme auftreten oder wenn eine Problembehandlung erforderlich ist, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten die für zusätzliche Supportfragen und Probleme, die für diesen speziellen Hotfix nicht qualifizieren. Eine vollständige Liste der technischen Kundendienst und Support-Telefonnummern oder eine separate Serviceanfrage erstellen die folgende Microsoft-Website:
http://support.microsoft.com/contactus/?ws=support

Voraussetzungen

Microsoft .NET Framework 1.1 SP1

Neustartanforderung

Sie müssen den Computer nach der Installation dieses Updates neu starten.

Software Update ersetzte

Dieses Softwareupdate ersetzt keine anderen Softwareupdates nicht.

Dateiinformationen

Die englische Version dieses Updates weist die Dateiattribute (oder höher Dateiattribute), die in der folgenden Tabelle aufgelistet werden. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu ermitteln verwenden Sie die Registerkarte Zeitzone des Tools ? Datum und Uhrzeit in der Systemsteuerung.
   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 hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Weitere Informationen

Die Timer -Klassen werden als eine verknüpfte Liste von Zeitgeberobjekte implementiert. Wenn das erste System.Threading.Timer -Objekt erstellt wird, startet der Threadpool-Manager einen Thread zur Verarbeitung der verknüpften Liste. Alle Zeitgeber-Objekt wird die verknüpfte Liste hinzugefügt. Der Thread, der die verknüpfte Liste Verarbeiten der verknüpften Liste durchläuft und bestimmt, wenn das Zeitgeberereignis gegen die aktuelle Anzahl der Uhr signalisiert werden erwartet wird.

Wenn das Zeitgeberobjekt abgelaufen ist, Warteschlange der Thread asynchron eine Rückruffunktion, bevor der Thread die Zeit aktualisiert, der das Timer-Ereignis signalisiert werden. Nachdem der Thread alle Zeitgeber Objekte in der verknüpften Liste verarbeitet hat, wird der Thread die Zeit, die die verknüpfte Liste zuletzt verarbeitet wurde aktualisiert. Der Thread berechnet dann die kürzeste Zeit Zeitgeberobjekt verstrichen, dass der Thread deaktiviert sollten, bevor der Thread die verknüpfte Liste für die nächste erneut verarbeitet.

Manchmal, wenn das System unter betonen oder wenn die verknüpfte Liste viele Zeitgeberobjekte enthält, der Verarbeitungsthread möglicherweise werden vorweggenommen durch eine höhere Priorität Thread vor dem ganzen verknüpft wurde Liste verarbeitet. Wenn dieses Verhalten auftritt, ist die Zeit, die ein Timer-Ereignis dann signalisiert werden erwartet wird, berechnet, älter als der Timestamp sein, wenn die verknüpfte Liste zuletzt verarbeitet wurde. Daher wird die Zeit, der das Timer-Ereignis signalisiert werden liegt in der Vergangenheit und läuft nie ab.

Da die Zeit, der das Timer-Ereignis signalisiert werden bereits abgelaufen ist, kann der Thread einen negativen Punkt warten, bevor das Timer-Ereignis signalisiert werden muss berechnen. Wenn der Thread einen negativen Zeitraum zu warten, gibt der Thread einen Ruhezustand für sehr lange.
Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Eigenschaften

Artikel-ID: 900822 - Geändert am: Montag, 3. Dezember 2007 - Version: 2.12
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft .NET Framework 1.1 Service Pack 1
Keywords: 
kbmt kbwinserv2003sp2fix kbfix kbbug kbpubtypekc kbqfe KB900822 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 900822
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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