> That said, one difference that's recently come to light is > that the .NET 1.1 sdk docs have introduced a new caution > stating that EndInvoke must be called after using BeginInvoke > in order to avoid leaking things [1].
This is a real shame. I've used BeginInvoke in a fire-and-forget type way and it's pretty damn useful. If they're going to introduce a warning that it could be a problem, I feel they should implement a "FireAndForget" type function, like you have in your AsyncHelper. That would make things clearer to the casual developer. What's the point of a garbage collector if it won't solve these leakage issues? I appreciate we've got the Dispose-style functionality for unmanaged resources, but elsewhere.. Incidentally, does the same requirement to call EndInvoke exist when you do a .BeginInvoke on a windows form control? Best wishes James
