// // IHttpAsyncHandler implementation // /// <internalonly/> IAsyncResult IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) { HttpAsyncResult result; // Setup the asynchronous stuff and application variables _context = context; _context.ApplicationInstance = this; _stepManager.InitRequest(); // Make sure the context stays rooted (including all async operations) _context.Root(); // Create the async result result = new HttpAsyncResult(cb, extraData); // Remember the async result for use in async completions AsyncResult = result; if (_context.TraceIsEnabled) HttpRuntime.Profile.StartRequest(_context); // Start the application ResumeSteps(null); // Return the async result return result; }