// helpers to raise event on STA threads in ASPCOMAP mode internal static void RaiseAspCompatEvent(HttpContext context, HttpApplication app, String sessionId, EventHandler eventHandler, Object source, EventArgs eventArgs) { AspCompatApplicationStep step = new AspCompatApplicationStep(context, app, sessionId, eventHandler, source, eventArgs); IAsyncResult ar = step.BeginAspCompatExecution(null, null); // wait until done if (!ar.IsCompleted) { WaitHandle h = ar.AsyncWaitHandle; if (h != null) { h.WaitOne(); } else { while (!ar.IsCompleted) { Thread.Sleep(1); } } } step.EndAspCompatExecution(ar); }
private void MarkCallContext(AspCompatApplicationStep mark) { CallContext.SetData("AspCompat", mark); }
private void MarkCallContext(AspCompatApplicationStep mark) { CallContext.SetData("AspCompat", mark); }
// helpers to raise event on STA threads in ASPCOMAP mode internal static void RaiseAspCompatEvent(HttpContext context, HttpApplication app, String sessionId, EventHandler eventHandler, Object source, EventArgs eventArgs) { AspCompatApplicationStep step = new AspCompatApplicationStep(context, app, sessionId, eventHandler, source, eventArgs); IAsyncResult ar = step.BeginAspCompatExecution(null, null); // wait until done if (!ar.IsCompleted) { WaitHandle h = ar.AsyncWaitHandle; if (h != null) { h.WaitOne(); } else { while (!ar.IsCompleted) Thread.Sleep(1); } } step.EndAspCompatExecution(ar); }
protected IAsyncResult AspCompatBeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData) { this.SetIntrinsics(context); this._aspCompatStep = new AspCompatApplicationStep(context, new AspCompatCallback(this.ProcessRequest)); return this._aspCompatStep.BeginAspCompatExecution(cb, extraData); }