private void AttachHandlers()
	{
		BeginEventHandler bh = new BeginEventHandler( this.BeginLoad );
		EndEventHandler eh = new EndEventHandler( this.EndLoad );

		AddOnPreRenderCompleteAsync( bh, eh );
	}
		public EventHandlerTaskAsyncHelper (TaskEventHandler handler)
		{
			if (handler == null)
				throw new ArgumentNullException ("handler");

			taskEventHandler = handler;
			beginEventHandler = GetAsyncResult;
		}
		public PageAsyncTask (BeginEventHandler beginHandler, EndEventHandler endHandler,
			EndEventHandler timeoutHandler, Object state, bool executeInParallel) 
		{
			this.beginHandler = beginHandler;
			this.endHandler = endHandler;
			this.timeoutHandler = timeoutHandler;
			this.state = state;
			this.executeInParallel = executeInParallel;
		}
    internal LegacyPageAsyncTask(BeginEventHandler beginHandler, EndEventHandler endHandler, EndEventHandler timeoutHandler, Object state, bool executeInParallel) {
        // Parameter checking is done by the public PageAsyncTask constructor

        _beginHandler = beginHandler;
        _endHandler = endHandler;
        _timeoutHandler = timeoutHandler;
        _state = state;
        _executeInParallel = executeInParallel;
    }
 public void Init(HttpApplication context)
 {
     if (beginEventHandler == null)
     {
         beginEventHandler = new BeginEventHandler(ServiceHttpModule.BeginProcessRequest);
     }
     if (endEventHandler == null)
     {
         endEventHandler = new EndEventHandler(ServiceHttpModule.EndProcessRequest);
     }
     context.AddOnPostAuthenticateRequestAsync(beginEventHandler, endEventHandler);
 }
Exemple #6
0
        protected void Start_Clicked(object sender, EventArgs e)
        {
            ProgressLabel.Text = "Page_Load: thread #" + System.Threading.Thread.CurrentThread.GetHashCode();

            BeginEventHandler bh = new BeginEventHandler(this.BeginGetAsyncData);
            EndEventHandler eh = new EndEventHandler(this.EndGetAsyncData);

            AddOnPreRenderCompleteAsync(bh, eh);

            // Initialize the WebRequest.
            string address = "http://localhost/";

            myRequest = System.Net.WebRequest.Create(address);
        }
 public PageAsyncTask(BeginEventHandler beginHandler, EndEventHandler endHandler, EndEventHandler timeoutHandler, object state, bool executeInParallel)
 {
     if (beginHandler == null)
     {
         throw new ArgumentNullException("beginHandler");
     }
     if (endHandler == null)
     {
         throw new ArgumentNullException("endHandler");
     }
     this._beginHandler = beginHandler;
     this._endHandler = endHandler;
     this._timeoutHandler = timeoutHandler;
     this._state = state;
     this._executeInParallel = executeInParallel;
 }
        // APM
        internal PageAsyncTask(BeginEventHandler beginHandler, EndEventHandler endHandler, EndEventHandler timeoutHandler, Object state, bool executeInParallel, SynchronizationContextMode currentMode) {
            if (beginHandler == null) {
                throw new ArgumentNullException("beginHandler");
            }
            if (endHandler == null) {
                throw new ArgumentNullException("endHandler");
            }

            // Only the legacy PageAsyncTaskManager supports timing out APM methods or executing them in parallel
            if (timeoutHandler != null || executeInParallel) {
                SynchronizationContextUtil.ValidateMode(currentMode, requiredMode: SynchronizationContextMode.Legacy, specificErrorMessage: SR.SynchronizationContextUtil_PageAsyncTaskTimeoutHandlerParallelNotCompatible);
            }

            BeginHandler = beginHandler;
            EndHandler = endHandler;
            TimeoutHandler = timeoutHandler;
            State = state;
            ExecuteInParallel = executeInParallel;
        }
Exemple #9
0
    private void DoAsync()
    {
        if (IsAsync)
        {
            Session["Halted"] = false;
            Timer1.Enabled = true;
            var asyncHandler = new AsyncHandler(Context);
            asyncHandler.NotifyHaltHandler += Halted;
            asyncHandler.NotifyLogger += Logger;
            BeginEventHandler bh = new BeginEventHandler(asyncHandler.BeginProcessRequest);
            EndEventHandler eh = new EndEventHandler(asyncHandler.EndProcessRequest);

            AddOnPreRenderCompleteAsync(bh, eh);

            // Initialize the WebRequest.
            string address = "http://localhost/";

            asyncHandler.WebRequest = System.Net.WebRequest.Create(address);
        }
        GC.Collect();
        GC.WaitForPendingFinalizers();
    }
	public void AddOnAuthenticateRequestAsync(BeginEventHandler bh, EndEventHandler eh) {}
	public void AddOnPostAuthorizeRequestAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state) {}
 public void AddOnAuthenticateRequestAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state)
 {
 }
Exemple #13
0
	public void AddOnPreRenderCompleteAsync (BeginEventHandler beginHandler, EndEventHandler endHandler)
	{
		AddOnPreRenderCompleteAsync (beginHandler, endHandler, null);
	}
Exemple #14
0
 /// <summary>
 /// Registers a new asynchronous task with the page.
 /// </summary>
 /// <param name="beginHandler">The handler to call when beginning an asynchronous task.</param>
 /// <param name="endHandler">The handler to call when the task is completed successfully within the time-out period.</param>
 /// <param name="timeout">The handler to call when the task is not completed successfully within the time-out period.</param>
 /// <param name="state">The object that represents the state of the task.</param>
 /// <param name="executeInParallel">The vlaue that indicates whether the task can be executed in parallel with other tasks.</param>
 public void RegisterAsyncTask(BeginEventHandler beginHandler, EndEventHandler endHandler, EndEventHandler timeout, object state, bool executeInParallel)
 {
     page.RegisterAsyncTask(new PageAsyncTask(beginHandler, endHandler, timeout, state, executeInParallel));
 }
 public void AddOnLogRequestAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, Object state)
 {
 }
 public void AddOnPostMapRequestHandlerAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state)
 {
 }
 public void AddOnReleaseRequestStateAsync(BeginEventHandler bh, EndEventHandler eh)
 {
 }
 public void AddOnPostResolveRequestCacheAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state)
 {
 }
 public void AddOnPostMapRequestHandlerAsync(BeginEventHandler bh, EndEventHandler eh)
 {
 }
 public void AddOnPostResolveRequestCacheAsync(BeginEventHandler bh, EndEventHandler eh)
 {
 }
 public void AddOnPostAuthorizeRequestAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state)
 {
 }
 public void AddOnPostAuthorizeRequestAsync(BeginEventHandler bh, EndEventHandler eh)
 {
 }
	public void AddOnPostMapRequestHandlerAsync(BeginEventHandler bh, EndEventHandler eh) {}
 public void AddOnPostAcquireRequestStateAsync(BeginEventHandler bh, EndEventHandler eh)
 {
 }
	public void AddOnAcquireRequestStateAsync(BeginEventHandler bh, EndEventHandler eh) {}
 public void AddOnPostAcquireRequestStateAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state)
 {
 }
	public void AddOnBeginRequestAsync(BeginEventHandler bh, EndEventHandler eh) {}
 public void AddOnUpdateRequestCacheAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, Object state)
 {
 }
 public void AddOnEndRequestAsync(BeginEventHandler bh, EndEventHandler eh)
 {
     AddOnEndRequestAsync(bh, eh, null);
 }
 public void AddOnUpdateRequestCacheAsync(BeginEventHandler bh, EndEventHandler eh)
 {
 }
 public void AddOnMapRequestHandlerAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, Object state) {
     if (!HttpRuntime.UseIntegratedPipeline) {
         throw new PlatformNotSupportedException(SR.GetString(SR.Requires_Iis_Integrated_Mode));
     }
     AsyncEvents.AddHandler(EventMapRequestHandler, beginHandler, endHandler, state,
                            RequestNotification.MapRequestHandler, false, this);
 }
 public void AddOnEndRequestAsync(BeginEventHandler bh, EndEventHandler eh)
 {
 }
 public void AddOnWork(BeginEventHandler beginHandler, EndEventHandler endHandler)
 {
     this._beginHandler = beginHandler;
     this._endHandler   = endHandler;
 }
 public void AddOnReleaseRequestStateAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state)
 {
 }
 public void AddOnMapRequestHandlerAsync(BeginEventHandler bh, EndEventHandler eh) {
     if (!HttpRuntime.UseIntegratedPipeline) {
         throw new PlatformNotSupportedException(SR.GetString(SR.Requires_Iis_Integrated_Mode));
     }
     AddOnMapRequestHandlerAsync(bh, eh, null);
 }
 internal void GetEventHandlers(out BeginEventHandler beginHandler, out EndEventHandler endHandler)
 {
     beginHandler = new BeginEventHandler(OnEnter);
     endHandler   = new EndEventHandler(OnLeave);
 }
 public void AddOnPostMapRequestHandlerAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, Object state) {
     AsyncEvents.AddHandler(EventPostMapRequestHandler, beginHandler, endHandler, state,
                            RequestNotification.MapRequestHandler, true, this);
 }
 public void AddOnPreRequestHandlerExecuteAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state)
 {
 }
Exemple #39
0
	public void AddOnPreRenderCompleteAsync (BeginEventHandler beginHandler, EndEventHandler endHandler, Object state)
	{
		if (!IsAsync) {
			throw new InvalidOperationException ("AddOnPreRenderCompleteAsync called and Page.IsAsync == false");
		}

		if (IsPrerendered) {
			throw new InvalidOperationException ("AddOnPreRenderCompleteAsync can only be called before and during PreRender.");
		}

		if (beginHandler == null) {
			throw new ArgumentNullException ("beginHandler");
		}

		if (endHandler == null) {
			throw new ArgumentNullException ("endHandler");
		}

		RegisterAsyncTask (new PageAsyncTask (beginHandler, endHandler, null, state, false));
	}
 public PageAsyncTask(BeginEventHandler beginHandler, EndEventHandler endHandler, EndEventHandler timeoutHandler, object state) : this(beginHandler, endHandler, timeoutHandler, state, false)
 {
 }
	public void AddOnPostAuthorizeRequestAsync(BeginEventHandler bh, EndEventHandler eh) {}
	public void AddOnPreRequestHandlerExecuteAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state) {}
	public void AddOnResolveRequestCacheAsync(BeginEventHandler bh, EndEventHandler eh) {}
	public void AddOnPostReleaseRequestStateAsync(BeginEventHandler bh, EndEventHandler eh) {}
	public void AddOnPostMapRequestHandlerAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state) {}
	public void AddOnPostUpdateRequestCacheAsync(BeginEventHandler bh, EndEventHandler eh) {}
	public void AddOnAcquireRequestStateAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state) {}
 public void AddOnPostRequestHandlerExecuteAsync(BeginEventHandler bh, EndEventHandler eh)
 {
 }
	public void AddOnPostRequestHandlerExecuteAsync(BeginEventHandler bh, EndEventHandler eh) {}
 public void AddOnAcquireRequestStateAsync(BeginEventHandler bh, EndEventHandler eh)
 {
     AddOnAcquireRequestStateAsync(bh, eh, null);
 }
	public void AddOnPostReleaseRequestStateAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state) {}
 public void AddOnAcquireRequestStateAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state)
 {
     AsyncEvents.AddHandler(EventAcquireRequestState, beginHandler, endHandler, state, RequestNotification.AcquireRequestState, false, this);
 }
	public void AddOnPostUpdateRequestCacheAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state) {}
 public void AddOnAuthenticateRequestAsync(BeginEventHandler bh, EndEventHandler eh)
 {
     AddOnAuthenticateRequestAsync(bh, eh, null);
 }
	public void AddOnBeginRequestAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state) {}
 public void AddOnBeginRequestAsync(BeginEventHandler beginHandler, EndEventHandler endHandler, object state)
 {
     AsyncEvents.AddHandler(EventBeginRequest, beginHandler, endHandler, state, RequestNotification.BeginRequest, false, this);
 }