[英]Convert from HttpResponseMessage to IActionResult in .NET Core
[英].Net Core returning an int in HttpResponseMessage
我正在尝试在.Net Core中复制以下ASP.Net代码:
return Request.CreateResponse( HttpStatusCode.OK, 100 );
我努力了:
using (MemoryStream ms = new MemoryStream())
{
using (StreamWriter sw = new StreamWriter(ms))
{
sw.Write(100);
return new HttpResponseMessage(HttpStatusCode.OK) {Content = new StreamContent(sw.BaseStream)};
}
}
但它并没有给我我想要的结果。 我正在使用遗留API,它必须从响应流中读取整数,因此我无法更改设计。
下面是接收响应的代码,TryParse总是失败,我需要它才能成功。 不幸的是我无法调试它:
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string result = reader.ReadToEnd();
int value = 0;
if (Int32.TryParse(result, out value))
{
return value;
}
}
.net-core不再返回HttpResponseMessage
。
Controller有辅助方法,允许您返回特定的IActionResult
结果/响应。
喜欢
public IActionResult MyControllerAction() {
//...
return Ok(100);
}
这将在响应正文中返回100
200响应,其中包含100
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.