.NET Compact Framework 2.0中的WebClient

时间:2014-09-05 15:58:57

标签: c# .net webclient

我是一个CF 2.0项目,我需要实现以下内容:

var myList = new List<MyItem>() { item1, item2 };

using (var webclient = new WebClient())
{
    webclient.Headers["Content-type"] = "application/json";
    webclient.Encoding = Encoding.UTF8;

    var data = JsonConvert.SerializeObject(myList);

    var response = webclient.UploadString("http://111.111.111.111:8762/MyService/FetchData", "POST", data);
    var myItems = JsonConvert.DeserializeObject(response, typeof(List<MyItem>));
}

我在CF 2.0中找不到System.Net.WebClient

1 个答案:

答案 0 :(得分:0)

this page上的示例 对于我正在寻找的东西来说,这是一个很好的选择。

public void Test()
{
    // Create a request using a URL that can receive a post. 
    WebRequest request = WebRequest.Create("http://www.contoso.com/PostAccepter.aspx ");
    // Set the Method property of the request to POST.
    request.Method = "POST";
    // Create POST data and convert it to a byte array.
    string postData = "This is a test that posts this string to a Web server.";
    byte[] byteArray = Encoding.UTF8.GetBytes(postData);
    // Set the ContentType property of the WebRequest.
    request.ContentType = "application/json";
    // Set the ContentLength property of the WebRequest.
    request.ContentLength = byteArray.Length;
    // Get the request stream.
    Stream dataStream = request.GetRequestStream();
    // Write the data to the request stream.
    dataStream.Write (byteArray, 0, byteArray.Length);
    // Close the Stream object.
    dataStream.Close ();
    // Get the response.
    WebResponse response = request.GetResponse ();
    // Display the status.
    Console.WriteLine (((HttpWebResponse)response).StatusDescription);
    // Get the stream containing content returned by the server.
    dataStream = response.GetResponseStream ();
    // Open the stream using a StreamReader for easy access.
    StreamReader reader = new StreamReader(dataStream);
    // Read the content.
    string responseFromServer = reader.ReadToEnd();
    // Display the content.
    Console.WriteLine (responseFromServer);
    // Clean up the streams.
    reader.Close();
    dataStream.Close();
    response.Close();
}