HttpClient Post 请求未在 VB.Net 中返回

问题描述 投票:0回答:1

我正在开发一个应用程序,我使用 HttpClient 发送 POST 请求,但在发送 POST 请求时,它不断加载,甚至不返回任何响应或任何异常。问题是,当我在控制台应用程序中运行代码时,它可以工作,但是当我在 Windows 窗体应用程序(即 vb.net 应用程序)中运行相同的代码时,它不起作用。

   Dim client As New HttpClient()
            Dim request As New HttpRequestMessage(HttpMethod.Post, "https://api.paymentgateway-sandbox.com/virtualterminal/v1/orgs/1959874664/transactions/start")
            request.Headers.Add("Authorization", "Bearer token#@$%^&")
            Dim _content As New StringContent("{
  ""transactionData"": {
    ""transactionType"": ""CreditSale"",
    ""method"": ""urlPage"",
    ""submissionType"": ""automatic"",
    ""fields"": [
      {
        ""id"": ""base_amount"",
        ""value"": ""10.00""
      },
      {
        ""id"": ""external_tran_id"",
        ""value"": ""64BFA675-D460-42E6-AFDE-73907B746A2D""
      }
    ]
  }
}", Nothing, "application/json")
            request.Content = _content
            Dim response = Await client.SendAsync(request)
            response.EnsureSuccessStatusCode()
            Dim res = response.Content.ReadAsStringAsync()
            Console.WriteLine(res)
vb.net httpclient
1个回答
0
投票

不确定它是否与解决方案相关,但是

Dim res = response.Content.ReadAsStringAsync()

应该是

Dim res = Await response.Content.ReadAsStringAsync()

与现有形式一样,

res
是一个
Task(Of String)
。这也是一个很好的提醒,不要使用无类型的
Dim
语句。

© www.soinside.com 2019 - 2024. All rights reserved.