FIX: Wanneer een.NET Framework gebaseerde toepassing gebruikt de klasse System.Threading.Timer, de timergebeurtenis kan niet worden gesignaleerd de.NET Framework 1.1 SP1

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 900822 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Symptomen

Wanneer een beheerde Microsoft..NET Framework-toepassing gebruikt deSystem.Threading.Timerin de Microsoft-klasse.NET Framework 1.1 Service Pack 1 (SP1), kan de timergebeurtenis niet gesignaleerd. Dit probleem treedt meestal als de computer waarop de toepassing een zware belasting of veel timer objecten worden uitgevoerd.

Oplossing

Informatie over hotfixes



Een ondersteunde hotfix is beschikbaar bij Microsoft. Deze hotfix is echter bedoeld om alleen het probleem dat in dit artikel wordt beschreven. Deze hotfix alleen uit op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige problemen ondervindt, is het daarom raadzaam te wachten op de volgende update waarin deze hotfix is opgenomen.

Deze hotfix downloaden vanaf de MSDN Code Gallery, de volgende Microsoft-website:
http://code.msdn.Microsoft.com/KB900822

OpmerkingDe MSDN Code Gallery geeft de talen waarvoor de hotfix beschikbaar is. Als u uw taal vermeld niet ziet, is omdat de pagina Galerie met Code bron voor die taal beschikbaar is.

OpmerkingAls er nog andere problemen optreden of als er oplossingen vereist is, moet u mogelijk een afzonderlijk serviceverzoek indienen. De normale ondersteuningskosten gelden voor extra ondersteuningsvragen die niet in aanmerking voor deze specifieke hotfix komen. Bezoek de volgende Microsoft-website voor een volledige lijst met telefoonnummers van Microsoft Customer Service and Support of een afzonderlijk serviceverzoek maken:
http://support.Microsoft.com/contactus/?ws=support

Vereisten

Microsoft.NET Framework 1.1 SP1

Opnieuw opstarten

U hebt de computer opnieuw opstarten nadat u deze update.

Informatie over vervanging van software

Deze update vervangt geen andere softwareupdates.

Bestandsgegevens

De Engelse versie van deze update heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Het verschil tussen UTC en lokale tijd, gebruikt u deTijdzonetabblad in het onderdeel Datum en tijd in het Configuratiescherm.
   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 heeft bevestigd dat dit probleem in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op' is.

Meer informatie

DeTimerklassen worden geïmplementeerd als een gekoppelde lijst timer-objecten. Wanneer de eersteSystem.Threading.Timerobject is gemaakt, begint de thread pool manager thread gekoppelde lijst te verwerken. Elk timerobject wordt toegevoegd aan de gekoppelde lijst. De thread verwerken gekoppelde lijst gekoppelde lijst doorlopen en bepaalt wanneer de timergebeurtenis verwacht tegen het huidige aantal klok worden gesignaleerd.

Als het timerobject is verlopen, wachtrijen de thread een callback-functie asynchroon voordat de thread wordt bijgewerkt wanneer de timergebeurtenis verwacht worden gesignaleerd. Nadat de thread heeft verwerkt alle timer-objecten in de lijst gekoppelde, werkt de thread de tijd die de gekoppelde lijst voor het laatst is verwerkt. Vervolgens berekent de thread de kortste tijd dat de thread slapen moet voordat de thread opnieuw verwerken voor de gekoppelde lijst voor het volgende timerobject verstreken.

Soms wanneer het systeem is onder stress of wanneer de gekoppelde lijst veel timer-objecten bevat, de verwerkingsthread kan uitliepen door een hogere prioriteit thread voordat het gehele gekoppeld is lijst verwerkt. Wanneer dit gebeurt, de tijd waarop de timergebeurtenis volgende verwacht worden gesignaleerd berekend worden eerder dan de tijdstempel wanneer de gekoppelde lijst voor het laatst is verwerkt. De tijd waarop de timergebeurtenis verwacht worden gesignaleerd is daarom in het verleden en nooit verloopt.

Omdat de tijd wordt verwacht dat de timergebeurtenis worden gesignaleerd is verstreken, kan de thread negatieve periode te wachten voordat de timergebeurtenis moet gesignaleerd berekenen. Wanneer de thread een negatieve periode heeft te wachten, wordt de thread een slaapstand lang ingevoerd.
Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
824684Beschrijving van de standaardterminologie die wordt gebruikt om software-updates voor Microsoft te beschrijven
Opmerking Dit is een artikel voor snelle publicatie dat rechtstreeks is gemaakt vanuit de ondersteuningsorganisatie van Microsoft. De informatie in dit artikel wordt in de huidige vorm aangeboden in reactie op nieuw geconstateerde problemen. Aangezien artikelen van dit type zeer snel moeten worden gepubliceerd, kan de inhoud typografische fouten bevatten en kan de inhoud zonder voorafgaande kennisgeving worden gewijzigd. Raadpleeg de Gebruiksrechtovereenkomst voor overige aandachtspunten.

Eigenschappen

Artikel ID: 900822 - Laatste beoordeling: donderdag 17 maart 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
Trefwoorden: 
kbwinserv2003sp2fix kbfix kbbug kbqfe kbmt KB900822 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:900822

Geef ons feedback

 

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