private static bool OnTrackingComplete(IAsyncResult result) { Fx.Assert(!result.CompletedSynchronously, "TrackingAsyncResult.OnTrackingComplete should not get called with a result that is CompletedSynchronously"); FlushPendingRecordsAsyncResult thisPtr = (FlushPendingRecordsAsyncResult)result.AsyncState; TrackingParticipant participant = thisPtr._provider._trackingParticipants[thisPtr._currentParticipant]; bool isSuccessful = false; try { participant.EndTrack(result); isSuccessful = true; } finally { if (!isSuccessful) { thisPtr._provider.ClearPendingRecords(); } } return(thisPtr.RunLoop()); }
public void EndFlushPendingRecords(IAsyncResult result) { FlushPendingRecordsAsyncResult.End(result); }