繁体   English   中英

.Net Core在HttpResponseMessage中返回一个int

[英].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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM