asp.net-core-webapi - WEB API .NET 5 将 JSON 对象流式传输到客户端获取请求
问题描述
使用以下源代码,我可以通过 ASP.NET Web API 流式传输 JSON 对象,这很好很酷!我想将此源代码迁移到 .NET 5。由于不再提供 PushStreamContent 类,任何人都可以帮助我面对解决方案吗?欢迎任何参考或示例。梅尔西
using Newtonsoft.Json;
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace WebApplication1.Controllers
{
public class ValuesController : ApiController
{
[HttpGet]
public HttpResponseMessage GetMultipartData()
{
var response = new HttpResponseMessage();
var content = new PushStreamContent(new Action<Stream, HttpContent, TransportContext>(WriteContent), "application/json");
response.Headers.TransferEncodingChunked = true;
response.Content = content;
return response;
}
public static void WriteContent(Stream stream, HttpContent content, TransportContext context)
{
var serializer = JsonSerializer.CreateDefault();
using (var sw = new StreamWriter(stream))
using (var jw = new JsonTextWriter(sw))
{
jw.WriteStartArray();
foreach (var id in Enumerable.Range(1, 100000))
{
serializer.Serialize(jw, new TestModel()
{
Alias = "rvhuang",
BirthDate = new DateTime(1985, 02, 13),
FirstName = "Robert",
LastName = "Huang",
ID = id,
MiddleName = "Vandenberg",
});
}
jw.WriteEndArray();
}
}
}
public class TestModel
{
public string FirstName
{
get; set;
}
public string MiddleName
{
get; set;
}
public DateTime BirthDate
{
get; set;
}
public string LastName
{
get; set;
}
public string Alias
{
get; set;
}
public int ID
{
get; set;
}
}
}
解决方案
推荐阅读
- numpy - ImportError:没有名为 numjy 的模块
- python - 用于连接字符串的简洁形式,以python中的某些条件为条件
- python - 如何在同一层中放置多个 LSTM?
- ansible - 如何遍历清单主机组并为特定组执行任务?
- r - 在 R 中对齐大型栅格和 SpatialPoints
- html - 显示的奇怪边距行为:块与显示:内联块
- php - 如何使用php和sql更新动态行数的单列?
- javascript - 如何在 JS 中每周聚合天数数组?
- php - Jquery .addClass() 函数在 chrome 中不起作用,但在 Mozilla 中运行良好
- c++11 - 程序编译,但没有生成输出