2013-04-06 80 views
0

有沒有人有一個想法如何我可以在Windows Phone 8的VB.Net中執行asynchronus Post Request?Windows Phone VB Web請求

我嘗試了很多,但沒有任何工作......也是這個http://msdn.microsoft.com/de-de/library/system.net.httpwebrequest.begingetrequeststream.aspx沒有工作。

非常感謝。

+0

您可以發佈您嘗試過的代碼和結果嗎? – GHC 2013-04-06 10:41:52

+0

我已經試過這段代碼:http://msdn.microsoft.com/de-de/library/system.net.httpwebrequest.begingetrequeststream.aspx(不能發佈在這裏......太長) – phspe 2013-04-06 10:45:10

+0

結果是什麼都沒有。 ..我不確定是什麼問題:( – phspe 2013-04-06 10:45:49

回答

2

我不得不在前一段時間弄清楚自己。讓我看看我能做些什麼來幫助。

發佈網絡請求實際上比鏈接顯示更簡單。這就是我所做的。

首先,我創建了一個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並將您的信息發佈到您選擇的網址:

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中導航,請轉至工具 - >庫包管理器 - >管理此解決方案的Nuget包。在那裏,搜索HttpClient的在線部分,並確保您在結果上方的列表框中選擇了「包括預發佈」。 (默認設置爲「僅穩定」) 然後安裝ID爲Microsoft.Net.Http

的軟件包然後,您需要在所用文檔的開頭添加一個Import語句。

讓我知道這是你在找什麼。

謝謝, SonofNun

+0

感謝您的答案!如果我嘗試你的代碼我得到一個錯誤「類型」HttpClient「沒有定義」 – phspe 2013-04-07 19:35:16

+0

對不起,我剛剛更新了我的答案與更多的信息在HttpClient 。 – SonofNun 2013-04-08 17:42:13