有人知道我如何在 VB.Net 中为 Windows Phone 8 执行异步发布请求吗?
我尝试了很多,但没有任何效果......这个http://msdn.microsoft.com/de-de/library/system.net.httpwebrequest.begingetrequeststream.aspx也没有工作。
非常感谢。
有人知道我如何在 VB.Net 中为 Windows Phone 8 执行异步发布请求吗?
我尝试了很多,但没有任何效果......这个http://msdn.microsoft.com/de-de/library/system.net.httpwebrequest.begingetrequeststream.aspx也没有工作。
非常感谢。
不久前,我不得不自己弄清楚这一点。让我看看我能做些什么来提供帮助。
发布网络请求实际上比链接显示的要简单。这就是我所做的。
首先,我创建一个 MultipartFormDataContent:
Dim form as New MultipartFormDataContent()
接下来,我添加每个要发送的字符串,如下所示:
form.Add(New StringContent("String to sent"), "name of the string you are sending")
接下来,创建一个 HttpClient:
Dim httpClient as HttpClient = new HttpClient()
接下来,我们将创建一个 HttpResponseMessage 并将您的信息发布到您选择的 url:
Dim response as HttpResponseMessage = Await httpClient.PostAsync("www.yoururl.com/wherever", form)
然后,我通常需要将响应作为字符串,所以我读取了对字符串的响应:
Dim responseString as String = Await response.Content.ReadAsStringAsync()
如果那是您想要的,这将为您提供所需的响应。
这是我使用的方法的示例:
Public Async Function GetItems() As Task
Dim getUrl As String = "https://myapiurl.com/v3/get"
Dim responseText As String = String.Empty
Dim detailType As String = "complete"
Try
Dim httpClient As HttpClient = New HttpClient()
Dim form As New MultipartFormDataContent()
form.Add(New StringContent(roamingSettings.Values("ConsumerKey").ToString()), "consumer_key")
form.Add(New StringContent(roamingSettings.Values("access_token").ToString()), "access_token")
form.Add(New StringContent(detailType.ToString()), "detailType")
Dim response As HttpResponseMessage = Await httpClient.PostAsync(getUrl, form)
responseText = Await response.Content.ReadAsStringAsync()
Catch ex As Exception
End Try
End Function
如果您不使用 Http 客户端库,则需要像这样安装它们:使用 HttpClient 需要做的是在 Visual Studio 中导航,转到 Tools->Library Package Manager->Manage Nuget Packages for这个解决方案。在那里,搜索 HttpClient 的在线部分,并确保在结果上方的列表框中选择了“包含预发布”。(默认设置为“Stable Only”)然后安装ID为Microsoft.Net.Http的包
然后,您需要在使用它的文档的开头添加一个 Import 语句。
让我知道这是否是您想要的。
谢谢, SonofNun