如何从 Asp.Net Core 中间件通过 JsonResult 进行响应?

2024-06-21

我想通过以下方式回复JsonResult来自 Asp.Net Core 中间件,但如何实现这一点并不明显。我用谷歌搜索了很多,但收效甚微。我可以通过JsonResult来自全球的IActionFilter通过设置ActionExecutedContext.Result to the JsonResult这很酷。但在这种情况下我想有效地返回一个JsonResult来自我的中间件。如何才能做到这一点呢?

我提出了关于JsonResult IActionResult但理想情况下,该解决方案适用于使用任何IActionResult写入中间件的响应。


中间件是 ASP.NET Core 的低级组件。 (高效)写出 JSON 是在 MVC 存储库中实现的。具体来说,在JSON 格式化程序 https://github.com/aspnet/Mvc/tree/5fca8da66576608473adc70f6be0e3bab9102f12/src/Microsoft.AspNetCore.Mvc.Formatters.Json成分。

它基本上可以归结为在响应流上写入 JSON。最简单的形式是,它可以在中间件中实现,如下所示:

using Microsoft.AspNetCore.Http;
using Newtonsoft.Json;

// ...

public async Task Invoke(HttpContext context)
{
    var result = new SomeResultObject();
    var json = JsonConvert.SerializeObject(result);
    await context.Response.WriteAsync(json);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Asp.Net Core 中间件通过 JsonResult 进行响应? 的相关文章

随机推荐