在 System.Net.Http 命名空间中有 StringContent class 类。我应该使用 StringContent 类的哪些目的?
StringContent类创建适合HTTP服务器/客户端通信的格式化文本。在客户端请求之后,服务器将响应一个HttpResponseMessage,而该响应需要内容,可以使用StringContent类创建。
例子:
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;
在这个例子中,服务器将会响应 csv
变量所包含的内容。根据一个字符串提供HTTP内容。
将内容添加到HTTPResponseMessage对象上。
response.Content = new StringContent("Place response text here");
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;
}
所有基本上是文本编码的响应都可以表示为StringContent
。
HTML响应也是文本(设置了适当的内容类型):
response.Content = new StringContent("<html><head>...</head><body>....</body></html>")
另一方面,如果您下载/上传文件,那么这是二进制内容,因此无法用字符串表示。