# Delegaatio.Alkuinvoke () ja muistivuodot...

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

<!-- category -- mostlylucidcouk, Imported, C#, .NET -->
Olen yhä enenevässä määrin mukana Asynchronin maailmassa, ja olen vähän penkonut monilukuisuuden salahautoja.
Törmäsin tänään mielenkiintoiseen juttuun, joka koski BeginInvoken käyttöä ilman vastaavaa EndInvokea käyttäessäni valtuutettuja...monia kirjoja (mukaan lukien se, jota käytän eniten juuri nyt, erinomainen). [Ohjelmointi.NET Components by Juval Lowy](http://www.amazon.co.uk/exec/obidos/ASIN/0596003471/mostlylucid-21)) mainitse, että hyvä tapa tulittaa tapahtumia asynkronisesti (eli ei estämällä) on soittaa BeginInvoke delegaatioon - cool tuntuu riittävän helpolta!
No, luin vähän ympärilleni, huomasin [näin sanoo Mike Woodring](http://www.bearcanyon.com/dotnet/#FireAndForget) joka sisältää tämän lausunnon: *"Aloittaessaan .NET-kehyksen 1.1. julkaisusta SDK:n dokumenteissa on nyt varovaisuus, jonka mukaan EndInvokea kehotetaan kutsumaan edustajia, joille olet kutsunut BeginInvoken, jotta vältyttäisiin mahdollisilta vuodoilta. Tämä tarkoittaa, että et voi vain "tuli-ja-unohda" kutsua BeginInvokea ilman riskiä siitä, että aiheutat ongelmia."* En löydä sitä kohtaa dokumenteista, jossa sanotaan niin, mutta [toinen artikkeli](http://www.ondotnet.com/pub/a/dotnet/2003/02/24/asyncdelegates.html?page=2) @ info: whatsthis [O'Reilly](http://www.ondotnet.com/dotnet/) Näiden todisteiden perusteella olisi hyvä välttää tämä mahdollinen vuoto. [Miken tavarat](http://www.bearcanyon.com/dotnet/#FireAndForget) On kätevästi pieni auttaja luokka, joka tukee ["Palo ja unohdus"](http://www.bearcanyon.com/dotnet/#FireAndForget) - kuollut helposti, nyt voin saada ihanan tulen ja unohtaa puhelut murehtimatta tahattomia vuotoja :-)

PÄIVITYS: Löydetty lääkärin viite, jos sinulla on MSDN, se on [täällä](https://web.archive.org/web/ms-help://ms.netframeworksdkv1.1/cpguidenf/html/cpovrasynchronousprogrammingoverview.htm), jos ei online-versio on [täällä](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpovrasynchronousprogrammingoverview.asp)