What purposes should I use class StringContent for?

后端 未结 4 1666
醉酒成梦
醉酒成梦 2020-12-14 07:06

There is StringContent class in System.Net.Http namespace. What purposes should I use class StringContent for?

相关标签:
4条回答
  • 2020-12-14 07:31

    Whenever I want to send an object to web api server I use StringContent to add format to HTTP content, for example to add Customer object as json to server:

     public void AddCustomer(Customer customer)
        {
            String apiUrl = "Web api Address";
            HttpClient _client= new HttpClient();
    
            string JsonCustomer = JsonConvert.SerializeObject(customer);
            StringContent content = new StringContent(JsonCustomer, Encoding.UTF8, "application/json");
            var response = _client.PostAsync(apiUrl, content).Result;
    
        }
    
    0 讨论(0)
  • 2020-12-14 07:31

    Every response that is basically text encoded can be represented as StringContent.

    Html reponse is text too (with proper content type set):

    response.Content = new StringContent("<html><head>...</head><body>....</body></html>")
    

    On the other side, if you download/upload file, that is binary content, so it cannot be represented by string.

    0 讨论(0)
  • 2020-12-14 07:32

    StringContent class creates a formatted text appropriate for the http server/client communication. After a client request, a server will respond with a HttpResponseMessageand that response will need a content, that can be created with the StringContent class.

    Example:

     string csv = "content here";
     var response = new HttpResponseMessage();
     response.Content = new StringContent(csv, Encoding.UTF8, "text/csv");
     response.Content.Headers.Add("Content-Disposition", 
                                  "attachment; 
                                  filename=yourname.csv");
     return response;
    

    In this example, the server will respond with the content present on the csv variable.

    0 讨论(0)
  • 2020-12-14 07:42

    It provides HTTP content based on a string.

    Example:

    Adding the content on HTTPResponseMessage Object

    response.Content = new StringContent("Place response text here");
    
    0 讨论(0)
提交回复
热议问题