我有一个执行POST的web api并返回一个字符串:
[HttpPost]
public string Post([FromBody] Property p)
{
// My code where I'll get success and/or Error string message
if(success)
return string.Format("OK");
else
return string.Format(Error);
}
我有一个调用此HttpPost的.net:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(URL);
var myContent = JsonConvert.SerializeObject(myData);
var buffer = System.Text.Encoding.UTF8.GetBytes(myContent);
var byteContent = new ByteArrayContent(buffer);
byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var result = client.PostAsync("", byteContent).Result;
var contents = result.Content.ReadAsStreamAsync().Result;
我希望在变量内容中包含值" OK"或错误字符串。但是,内容会收到System.IO.MemoryStream
如果我在邮差中跑,我会得到"好的"作为回报。
有谁知道为什么?
答案 0 :(得分:1)
您应该使用ReadAsStringAsync
方法:
var contents = result.Content.ReadAsStringAsync().Result;