VB.net PostAsync mit Json Body(Payload)

  • VB.NET
  • .NET (FX) 4.5–4.8

    VB.net PostAsync mit Json Body(Payload)

    Moin,

    ich versuche gerade per VB einen Post anzusetzen, aber mit Json Payload.

    Ich muss diesen Body mitgeben:
    var data = {};
    data["Value"] = value;


    So sieht mein Code aus:

    VB.NET-Quellcode

    1. ​ Async Function POST_Async(ByVal str As String) As Task(Of String)
    2. 'Zertifikat akzeptieren
    3. System.Net.ServicePointManager.ServerCertificateValidationCallback =
    4. Function(se As Object,
    5. cert As System.Security.Cryptography.X509Certificates.X509Certificate,
    6. chain As System.Security.Cryptography.X509Certificates.X509Chain,
    7. sslerror As System.Net.Security.SslPolicyErrors) True
    8. Dim h As System.Net.Http.HttpClientHandler = New System.Net.Http.HttpClientHandler()
    9. Dim c = New Net.NetworkCredential("webapi_ext", "test123_")
    10. h.Credentials = c
    11. Dim values = New Dictionary(Of String, String) From {{"complete", "true"}}
    12. Dim content = New System.Net.Http.FormUrlEncodedContent(values)
    13. Dim client As System.Net.Http.HttpClient = New System.Net.Http.HttpClient(h)
    14. client.Timeout = New TimeSpan(0, 0, 15)
    15. Dim response = Await client.PostAsync("xxxxxxxxxxxxxxxxxx", content)
    16. Dim responseString = response.Headers.ToString
    17. 'Dim responseString = Await response.Content.ReadAsStringAsync()
    18. HierSchreibIchWasRein(responseString)
    19. Return responseString
    20. End Function



    In Javascript habe ich das so gelöst:

    Quellcode

    1. ​var data = {};
    2. data["Value"] = value;
    3. var putUrl = PIWebAPIURL + "streams/" + webid + "/value";
    4. $http.post(putUrl,JSON.stringify(data),{withCredentials: true}).success(function(resp){
    5. });



    Ich habe gelesen das das mit JsonMediaTypeFormatter, aber wie?

    Hat evtl jemand einen Idee dazu?