Define an asynchronous task using the PageAsyncTask class. After the task is defined, and is registered with the page using the RegisterAsyncTask method, the ExecuteRegisteredAsyncTasks method can be invoked to begin the asynchronous task.
The ExecuteRegisteredAsyncTasks method is automatically called at the point in the page processing when any registered asynchronous tasks, if they exist, are invoked for a non-asynchronous page. This automatic call to ExecuteRegisteredAsyncTasks occurs just before the PreRenderComplete event. Call the ExecuteRegisteredAsyncTasks method for tasks you want to be invoked at times other than the automatic call to this method. Note, asynchronous tasks will be executed only once even though ExecuteRegisteredAsyncTasks may be called more than once.
The AsyncTimeout property is reset on every call to the ExecuteRegisteredAsyncTasks method. The last value of the AsyncTimeout prior to invoking the ExecuteRegisteredAsyncTasks method takes precedence. If an asynchronous task takes more than the AsyncTimeout, subsequent tasks invoked during that ExecuteRegisteredAsyncTasks call are timed out immediately.