[英]calling HttpClient.PutAsJsonAsync in VB.NET
我在C#中有此代碼
private async Task AAA(ClassInstance campanaRep)
{
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(apiUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await client.PutAsJsonAsync("Http:...." + "WebMethod", campanaRep);
if (response.IsSuccessStatusCode)
bol = response.Content.ReadAsAsync<bool>().Result;
}
效果很好...
我正在嘗試轉換為VB.NET,這就是我可以遷移的內容
private sub AAA(campanaRep as ClassInstance )
Using client As New HttpClient()
client.BaseAddress = New Uri(apiUrl)
client.DefaultRequestHeaders.Accept.Clear()
client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"))
HttpResponseMessage response = await client.PutAsJsonAsync("Http:...." + "WebMethod", campanaRep);
if (response.IsSuccessStatusCode)
bol = response.Content.ReadAsAsync<bool>().Result
end sub
End Function
我在線上有錯誤
HttpResponseMessage響應=等待client.PutAsJsonAsync(“ Http” +“ WebMethod”,campanaRep)
我認為AAA功能必須定義為不同。 賦值也必須有所不同,但是我找不到正確的語法。
應該怎么辦
您的代碼有很多錯誤,但是似乎您陷入了編譯器錯誤的提示中:
方法參數必須用括號括起來
這是因為您尚未將方法標記為Async
因此編譯器假定Await
是一個函數。 因此,只需將其添加到簽名中即可:
Private Async Sub AAA(campanaRep As ClassInstance)
另外,其余代碼完全是一團糟,在這里進行了一些整理:
Private Async Sub AAA(campanaRep As ClassInstance)
Using client As New System.Net.Http.HttpClient()
client.BaseAddress = New Uri("")
client.DefaultRequestHeaders.Accept.Clear()
Dim response As System.Net.Http.HttpResponseMessage = _
Await client.PutAsJsonAsync("Http"+ "WebMethod", campanaRep)
If (response.IsSuccessStatusCode)
bol = Await response.Content.ReadAsAsync(Of Boolean)
End If
End Using
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.