# Gedelegeerd.BeginInvoke() en geheugenlekken...

<datetime class="hidden">2004-02-20T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, C#, .NET -->
Ik raak steeds meer betrokken in de wereld van Asynchrony en heb wat rondgegraven in de valkuilen van multi-threading.
Ik kwam vandaag een interessante over met betrekking tot het gebruik van BeginInvoke zonder een overeenkomstige EndInvoke bij het gebruik van afgevaardigden...veel boeken (inclusief degene die ik het meest gebruik op dit moment, de uitstekende [Programmeren .NET Componenten door Juval Lowy](http://www.amazon.co.uk/exec/obidos/ASIN/0596003471/mostlylucid-21)) vermelden dat een goede manier om gebeurtenissen asynchroon (d.w.z. niet blokkeren) is om eenvoudig te bellen BeginInvoke op de gedelegeerde - cool lijkt gemakkelijk genoeg!
Nou, een beetje lezen, ik ontdekte [dit door Mike Woodring](http://www.bearcanyon.com/dotnet/#FireAndForget) die deze verklaring bevat: *"In het begin van de 1.1 release van het .NET Framework, de SDK docs dragen nu een waarschuwing dat mandaten aanroepen EndInvoke op afgevaardigden die u hebt gebeld BeginInvoke op om potentiële lekken te voorkomen. Dit betekent dat je niet gewoon "fire-and-forget" een oproep naar BeginInvoke zonder het risico van het uitvoeren van het risico van het veroorzaken van problemen. "* Ik kan het stukje in de dokters niet vinden dat dat zegt, maar [een ander artikel](http://www.ondotnet.com/pub/a/dotnet/2003/02/24/asyncdelegates.html?page=2) op [O'Reillygreat-britain_counties.kgm](http://www.ondotnet.com/dotnet/) Nou, gebaseerd op dit bewijs, lijkt het een goed idee om dit potentiële lek te vermijden, gelukkig. [Mike's spullen.](http://www.bearcanyon.com/dotnet/#FireAndForget) heeft een handige kleine helper klasse die de ['Vuur en vergeet idioom'](http://www.bearcanyon.com/dotnet/#FireAndForget) - makkelijk dood, nu kan ik heerlijk vuur hebben en telefoontjes vergeten zonder zich zorgen te maken over onbedoelde lekken:-)

UPDATE: Ik heb de doc referentie gevonden, als je MSDN hebt is het [Hier.](https://web.archive.org/web/ms-help://ms.netframeworksdkv1.1/cpguidenf/html/cpovrasynchronousprogrammingoverview.htm), zo niet de on-line versie is [Hier.](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpovrasynchronousprogrammingoverview.asp)