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