예제 #1
0
 public override void SafelyAbortRequest( AbortStat abortStat )
 {
     this.spotFeedRequest.SafelyCloseRequest( );
 }
예제 #2
0
        /// <summary>
        /// Normally this method should not be called. This only happens in cases like if SpotFeedRequest.ResponseStreamReadCallback 
        /// is not called and SpotFeedRequest fails to finish normally (such cases were observed)
        /// </summary>
        public override void SafelyAbortRequest( AbortStat abortStat )
        {
            // Once it's quite emergency mode, do everything to close it, taking that any kind of exception could happen here,
              // including those from race conditions.

              try
              {
            this.isAborted = true;
            Thread.MemoryBarrier( );

            if ( this.currentRequest != null )
            {
              this.currentRequest.SafelyCloseRequest( abortStat, ErrorHandlingLog );
            }
              }
              catch ( Exception exc )
              {
            Log.ErrorFormat( "SafelyAbortRequest error for lrid {0}: {1}", Lrid, exc );
              }
        }