我是新來的Xamarin和C#以及。我嘗試使用一些信息向我的服務器發出Http請求。 一般來說,android Native a使用AsyncTask和HttpClient。並構建一個json對象或名稱值對,並對其進行加密以將信息與請求集成在一起。 但是,當我嘗試用xamarin做同樣的事情時,我遇到了一些問題。如何使用HttpWebRequest與異步和等待
- ,如果我嘗試導入使用System.Net.Http.HttpClient 比我xamarin沒有這個命名空間
-
命名空間
由於上述問題,我嘗試使用HttpWebRequest。但是當我用它與asyc一起使用並等待時,我沒有收到服務器的任何響應。 我是新來的xamarin,所以我不確定關於異步和等待關鍵字。 我看了很多文章,但沒有運氣:(
上單擊按鈕的我叫下面的方法
public async Task<int> ValidateUser(){ try{ var request = HttpWebRequest.Create (URL); request.Method = "GET/POST"; String postString = String.Format ("AAA ={0}&BBB={1}&CCC={2}", "111", "222","333"); byte[] postByte = Encoding.UTF8.GetBytes (postString); Stream st = request.GetRequestStream(); //I am reaching here Console.WriteLine("Check for Validity"); request.ContentLength = postByte.Length; st.Write (postByte, 0, postByte.Length); st.Close(); Task<Stream> contentTask = request.GetRequestStreamAsync(); Stream response = await contentTask; String str = response.ToString(); // this is not getting printed in Console Console.WriteLine("=====>>"+str); } catch (WebException exception) { string responseText; using (var reader = new StreamReader(exception.Response.GetResponseStream())) { responseText = reader.ReadToEnd(); Console.WriteLine ("====Dude Error"+responseText); } }catch(Exception e){ } return 1; }
任何幫助將不勝感激
使用HttpWebRequest的是一個壞主意,而是最好關注爲什麼你沒有System.Net.Http。*命名空間。 最可能的原因是,您沒有添加System.Net.Http作爲您項目的參考。 – Frank 2014-09-11 12:23:01
我試圖添加,但它不是博士... PLZ告訴我,如果它不存在,如何集成在Xamarin – 2014-09-11 14:01:42