private static void MultipleAddressConnectCallback(IAsyncResult result)
{
if (result.CompletedSynchronously)
{
return;
}
bool invokeCallback = false;
MultipleAddressConnectAsyncResult context = (MultipleAddressConnectAsyncResult)result.AsyncState;
try
{
invokeCallback = DoMultipleAddressConnectCallback(result, context);
}
catch (Exception exception)
{
context.InvokeCallback(exception);
}
// Invoke the callback outside of the try block so we don't catch user Exceptions.
if (invokeCallback)
{
context.InvokeCallback();
}
}