What purposes should I use class StringContent for?
It provides HTTP content based on a string.
Example:
Adding the content on HTTPResponseMessage Object
response.Content = new StringContent("Place response text here");
StringContent class creates a formatted text appropriate for the http server/client communication. After a client request, a server will respond with a HttpResponseMessage
and 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.
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;
}