Я пытаюсь получить JSON данные из WebAPI, хотя я понятия не имею, как решить с помощью VB. NET. Код ниже был вставлен и сделан из какой-то статьи на inte rnet. На самом деле я не знаю, нужна ли мне команда с именем " Await " или нет, и как ее использовать. Я столкнулся с синтаксической ошибкой из этой области. Может ли кто-нибудь помочь мне? По словам поставщика API, при подключении к этому URL мне, очевидно, нужно добавить значение «токен» в их заголовок. (ASP .NET4.6 / VB.NET / VisualStudio2017)
url = "https://webapi.XXXXXXXXX.XXXXX.com/getuserno?employeeid=" & txtID.Text
Dim str As String
Using client = New Http.HttpClient()
client.DefaultRequestHeaders.Add("XXX-Api-Access-Token", jsonObj("access_token"))
client.Timeout = TimeSpan.FromSeconds(10.0)
Dim dt As System.IO.Stream = Await client.GetStreamAsync(url)
Dim sr0 As New System.IO.StreamReader(dt, System.Text.Encoding.UTF8)
str = sr0.ReadToEnd()
dt.Close()
End Using
Я изменился таким образом, но все еще сталкиваюсь с двумя синтаксическими ошибками, когда я вызываю функцию.
1: Await-> BC37058 «Await» можно использовать только в методе Asyn c. Попробуйте пометить этот метод модификатором «Asyn c» и изменить его тип возвращаемого значения на «Task».
2: AccessTheWebAsyn c -> Ожидается конец оператора
Dim content As String = Await AccessTheWebAsync(jsonObj("access_token"))
End Sub
Async Function AccessTheWebAsync(ByVal jsonObj As Object) As Threading.Tasks.Task
url = "https://webapi.XXXXXXXXX.XXXXX.com/getuserno?employeeid=" & txtID.Text
Dim str As String
Using client = New Http.HttpClient()
client.DefaultRequestHeaders.Add("XXX-Api-Access-Token", jsonObj("access_token"))
client.Timeout = TimeSpan.FromSeconds(10.0)
Dim dt As System.IO.Stream = Await client.GetStreamAsync(url)
Dim sr0 As New System.IO.StreamReader(dt, System.Text.Encoding.UTF8)
str = sr0.ReadToEnd()
dt.Close()
End Using
End Function