コード例 #1
0
            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());
            }
コード例 #2
0
 public void EndFlushPendingRecords(IAsyncResult result)
 {
     FlushPendingRecordsAsyncResult.End(result);
 }