public void EndSendAck(IAsyncResult result) { bool succeeded = false; try { SendAckAsyncResult.End(result); succeeded = true; } finally { if (!succeeded) { this.Abort(); } } }
static void OnReplyCompleted(IAsyncResult result) { if (result.CompletedSynchronously) { return; } SendAckAsyncResult thisPtr = (SendAckAsyncResult)result.AsyncState; Exception completionException = null; try { thisPtr.OnReplyCompletedCore(result); } catch (Exception e) { completionException = e; } thisPtr.Complete(false, completionException); }