Это мой код:DownloadStringTaskAsync Результат ТУПИК при использовании интерфейса
Dim getUrlContentTask = Task.Factory.StartNew(Function() GetUrlContent(modifiedUrl))
getUrlContentTask.Wait()
'Check #6 - Check if the url has an expired text in it.
CheckIfExpired(getUrlContentTask)
Public Shared Function GetUrlContent(url As String) As task(of String)
Try
Dim webClient As New System.Net.WebClient
Dim webContent = Await webClient.DownloadStringTaskAsync(url)
Return webContent
End Function
Public Shared Function CheckIfExpired(webContent As Task(Of String) As Boolean
If util.ExpiredTexts.Any(Function(o) webContent.Result.Contains(o)) = False Then
Throw New UriFormatException("Url leads to an expired page")
End If
Return True
End Function
Когда эта функция работает без пользовательского интерфейса он работает нормально, но когда я пытаюсь запустить его с помощью пользовательского интерфейса он заклинивание в webContent.Result.contains (o)
Как можно заставить его работать с использованием пользовательского интерфейса?
Вы явно блокирования вызова '' Result' или Wait () '. Не делай этого. Используйте 'await', чтобы ожидать асинхронно и получить результат. –