在 Web 表单页面上异步加载文本?
Loading text asynchronously on a webforms page?
如何在网页表单页面上点击一个按钮并观察异步请求的结果逐渐显示在页面上?比如目前所有的结果都是在postback完成后出现的!
Protected Async Sub lbtnSubmitTest_Click(sender As Object, e As EventArgs) Handles lbtnSubmitTest.Click
Dim counter As Integer = 0
Dim loopMax As Integer = 50
Dim requestList As New List(Of Task(Of String))
While counter < loopMax
requestList.Add(FetchTokenAsync())
counter = counter + 1
End While
While (requestList.Count > 0)
Threading.Thread.Sleep(55500)
Dim finishedTask = Await Task.WhenAny(requestList)
requestList.Remove(finishedTask)
Dim message = Await finishedTask
lblResults.Text = lblResults.Text + message
End While
Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("C:\Temp\APITestResults.txt", True)
file.WriteLine(lblResults.Text)
file.Close()
End Sub
你把事情搞混了。
客户端(网络浏览器)向服务器发出请求。该请求可能是本地同步或异步操作,但与服务器无关。
同样,服务端可能会同步或异步执行请求,但与客户端无关。
他们生活在不同的世界。
为了异步通知客户端,您必须使用一些服务器到客户端的通信,例如 SignalR。
如何在网页表单页面上点击一个按钮并观察异步请求的结果逐渐显示在页面上?比如目前所有的结果都是在postback完成后出现的!
Protected Async Sub lbtnSubmitTest_Click(sender As Object, e As EventArgs) Handles lbtnSubmitTest.Click
Dim counter As Integer = 0
Dim loopMax As Integer = 50
Dim requestList As New List(Of Task(Of String))
While counter < loopMax
requestList.Add(FetchTokenAsync())
counter = counter + 1
End While
While (requestList.Count > 0)
Threading.Thread.Sleep(55500)
Dim finishedTask = Await Task.WhenAny(requestList)
requestList.Remove(finishedTask)
Dim message = Await finishedTask
lblResults.Text = lblResults.Text + message
End While
Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("C:\Temp\APITestResults.txt", True)
file.WriteLine(lblResults.Text)
file.Close()
End Sub
你把事情搞混了。
客户端(网络浏览器)向服务器发出请求。该请求可能是本地同步或异步操作,但与服务器无关。
同样,服务端可能会同步或异步执行请求,但与客户端无关。
他们生活在不同的世界。
为了异步通知客户端,您必须使用一些服务器到客户端的通信,例如 SignalR。