internal void Start(PageAsyncTaskManager manager, object source, EventArgs args) { this._taskManager = manager; this._completionCallback = new AsyncCallback(this.OnAsyncTaskCompletion); this._started = true; try { IAsyncResult result = this._beginHandler(source, args, this._completionCallback, this._state); if (result == null) { throw new InvalidOperationException(System.Web.SR.GetString("Async_null_asyncresult")); } if (this._asyncResult == null) { this._asyncResult = result; } } catch (Exception exception) { this._error = exception; this._completed = true; this._completedSynchronously = true; this._taskManager.TaskCompleted(true); } }
public void RegisterAsyncTask(PageAsyncTask task) { if (task == null) { throw new ArgumentNullException("task"); } if (this._asyncTaskManager == null) { this._asyncTaskManager = new PageAsyncTaskManager(this); } this._asyncTaskManager.AddTask(task); }