【问题标题】:How to consume an asp.net web api in vb.net application如何在 vb.net 应用程序中使用 asp.net web api
【发布时间】:2013-04-13 07:03:48
【问题描述】:

就像我最初的问题所述。
我想知道 在 vb.net 中有一个使用 asp.net web api
我是初学者 asp.net 程序员。
我正在观看有关如何制作 web api 的视频。
但似乎找不到任何关于在 vb.net 应用程序中使用 Web 服务的迹象。

我只想将serialized objects 发送到web service
拥有web service deserialize 对象并根据其内容做出决定并向应用程序发送回响应。

我需要开始测试web service,并且我想让我的应用程序与api 一起工作。
这又回到了这个问题。如何从vb.net 中的web api 发送和接收数据?

【问题讨论】:

  • 有很多方法可以在 .net 中创建 Web 服务。你用的是哪种方式?这将有助于为您提供有关如何使用它的最佳提示。
  • 您的 vb.net 应用程序是如何构建的?这是一个关于如何通过控制台应用程序使用 ASP.NET API 的示例。 asp.net/web-api/overview/web-api-clients/…
  • 就是这样,我不知道怎么做。但我正在查看 asp.net 上的链接
  • 这行得通。这几乎就是我要找的东西。我知道没有很多用 vb 编写的解决方案。我可以在网上找到转换工具。谢谢大家。

标签: asp.net vb.net asp.net-web-api


【解决方案1】:
Private Function PostApiCall(txtV As String) As String
        Try
            Dim endPoint As String = "https://gorest.co.in/public-api/users"
            'Contruct Json Request
            Dim dictData As New Dictionary(Of String, Object)
            dictData.Add("FetchStart", txtV)
            dictData.Add("FetchSize", "uday")
            dictData.Add("CustomerName", "gundeti")
            dictData.Add("gender", "male")
            'Params
            Dim reqString() As Byte
            Dim resByte As Byte()
            Dim responseFromApi As String

        Dim client As WebClient = New WebClient()

        client.Headers("Content-type") = "application/json"
        'client.Headers("Authorization") = "Basic " & Convert.ToBase64String(Encoding.[Default].GetBytes("username:password"))
        client.Headers("Authorization") = "Bearer elHd6Cv3Ae2P70mPvfPx9gNnjfbHU-kd9FID"
        client.Encoding = Encoding.UTF8
        Dim jsonReq = JsonConvert.SerializeObject(dictData, Formatting.Indented)
        reqString = Encoding.Default.GetBytes(jsonReq)

        resByte = client.UploadData(endPoint, "post", reqString)
        responseFromApi = Encoding.Default.GetString(resByte)
        Return responseFromApi
    Catch ex As Exception
        Throw (ex)
    End Try
End Function

【讨论】:

    【解决方案2】:

    一个帖子示例:

    Public Class Form1
        Private Sub submit_Click(sender As System.Object, e As System.EventArgs) Handles submit.Click
            Dim user As String
            Dim pass As String
            user = uname.Text
            pass = passwd.Text
    
            Dim request As WebRequest = WebRequest.Create("http://domain.com/test.php")
            request.Method = "POST"
            Dim postData As String
            postData = "username=" & user & "&password=" & pass
            Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
            request.ContentType = "application/x-www-form-urlencoded"
            request.ContentLength = byteArray.Length
            Dim dataStream As Stream = request.GetRequestStream()
    
    do what you want with the stream
    
            reader.Close()
            dataStream.Close()
            response.Close()
        End Sub
    End Class
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 2010-11-23
      相关资源
      最近更新 更多