#vb.net
#vb.net
Вопрос:
Я думаю, что это простой вопрос для вас, но я не понимаю других случаев веб-запросов, поэтому я спросил здесь:
Как я могу сделать этот веб-запрос асинхронным?
Dim sBuffer As String
Dim oRequest As WebRequest = WebRequest.Create(url)
oRequest.Method = "GET"
Dim oResponse As WebResponse = oRequest.GetResponse()
Dim oStream As New StreamReader(oResponse.GetResponseStream())
sBuffer = oStream.ReadToEnd()
oStream.Close()
oResponse.Close()
Return sBuffer
Спасибо за вашу помощь!
С уважением, Flo
Ответ №1:
функцию с простым возвращаемым значением нельзя просто сделать асинхронной, вам нужно найти другой метод обработки возвращаемых данных. Я бы предложил использовать System.Net.WebClient, который является гораздо более простой оболочкой для того, что вы сделали выше, с этим классом асинхронность действительно проста.
Dim wc As New WebClient
AddHandler wc.DownloadStringCompleted, AddressOf DownloadCompletedHander
wc.DownloadStringAsync(url)
…
Public Shared Sub DownloadCompletedHander(ByVal sender As Object, ByVal e As DownloadStringCompletedEventArgs)
If e.Cancelled = False AndAlso e.Error Is Nothing Then
Dim myString As String = CStr(e.Result)
'Do stuff with data
End If
End Sub
Я действительно не говорю VB.net но я думаю, что это правильно из-за некоторого поиска в Google
Комментарии:
1. как вы могли бы поместить сообщение и его параметр, используя это?