我的.Net Core API中有一个中间件(下面的一些代码)。中间件运行良好。但我想发送更多的信息,而不仅仅是状态。但是怎么做呢?context.Response.Body是一个IO.Stream(我不喜欢流)
private readonly RequestDelegate _next;
public AuthenticationMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
if(/*false*/){
await _next.Invoke(context);
}else{
context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
context.Response.Body = ??????
return;
}
}
来自核心 Web API 身份验证 ASP.NET 代码片段
您可以通过在json中转换对象然后将json转换为字符串来发送任何数据。
用绳子,你可以制造蒸汽。下面是从字符串创建流的示例代码。
byte[] byteArray = Encoding.ASCII.GetBytes("i am sample string");
MemoryStream stream = new MemoryStream( byteArray );
现在你可以把蒸汽分配给身体
context.Response.Body = stream;