Protected Sub btnCreate_Click(sender As Object, e As EventArgs) Handles btnCreate.Click
SetControl(False)
ButtonAreaUpdatePanel.Update()
DetailAreaUpdatePanel.Update()
'GetExceStatusTimer.Enabled = True
Dim asyncTask = New PageAsyncTask(AddressOf BeginGenDataExecute, AddressOf EndGenDataExecute, AddressOf EndGenDataExecute, Nothing)
Page.RegisterAsyncTask(asyncTask)
Page.ExecuteRegisteredAsyncTasks() 这里会阻塞
End Sub
Private GenData As Action = Sub()
GenDataExecute()
End Sub
Private Function BeginGenDataExecute(ByVal sender As Object, ByVal e As EventArgs, cb As AsyncCallback, extraData As Object) As IAsyncResult
Return GenData.BeginInvoke(cb, extraData)
End Function
Private Sub EndGenDataExecute(ByVal ar As IAsyncResult)
GenData.EndInvoke(ar)
End Sub
本文介绍了一个使用 ASP.NET 中 PageAsyncTask 的异步处理示例,演示了如何通过 BeginInvoke 和 EndInvoke 方法来执行后台生成数据的任务,同时更新用户界面。
104

被折叠的 条评论
为什么被折叠?



