簡體   English   中英

在VB.NET中調用HttpClient.PutAsJsonAsync

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM