rendered paste bodyLine 628:
//
// Ticks the clock: next step on the pipeline.
//
void Tick ()
{
try {
if (pipeline != null && pipeline.MoveNext ()){
if (pipeline == null || (bool)pipeline.Current)
PipelineDone ();
}
} catch (ThreadAbortException taex) {
Console.WriteLine("ThreadAbortException catched up!!...{0}",taex.Message);
object obj = taex.ExceptionState;
Thread.ResetAbort ();
stop_processing = true;
if (obj is StepTimeout)
ProcessError (new HttpException ("The request timed out."));
else
PipelineDone ();
} catch (Exception e) {
Console.WriteLine ("Tick caught an exception that has not been propagated:\n" + e.StackTrace);
}
Console.WriteLine("byebye Tick()!");
}
.
.
.
Line 800:
//
// Invoked at the end of the pipeline execution
//
void PipelineDone ()
{
Console.WriteLine("PipelineDon() Ejecuted...");
try {
if (EndRequest != null)
EndRequest (this, EventArgs.Empty);
} catch (Exception e){
Console.WriteLine("Catching up Excepcion when EndRequest");
ProcessError (e);
}
try {
OutputPage ();
} catch (Exception e) {
Console.WriteLine ("Internal error: OutputPage threw an exception " + e);
} finally {
Console.WriteLine("FFinnaly on OutPage()");
if (context == null)
context = HttpContext.Current;
context.WorkerRequest.EndOfRequest();
if (factory != null && context.Handler != null){
factory.ReleaseHandler (context.Handler);
context.Handler = null;
factory = null;
}
#if NET_2_0
context.PopHandler ();
#endif
Console.WriteLine("FFinnaly 1");
if (begin_iar != null){
try {
begin_iar.Complete ();
} catch {
//
// TODO: if this throws an error, we have no way of reporting it
// Not really too bad, since the only failure might be
// `HttpRuntime.request_processed'
//
} finally {
done.Set ();
}
} else {
done.Set ();
}
// context = null; -> moved to PostDone
pipeline = null;
current_ai = null;
}
Console.WriteLine("FFinnaly 2");
PostDone ();
Console.WriteLine("FFinnaly 3");
}
===> Hit Return to stop the server.
ThreadAbortException catched up!!...Thread was being aborted
PipelineDon() Ejecuted...
FFinnaly on OutPage()
FFinnaly 1
FFinnaly 2
FFinnaly 3
byebye Tick()!