C# JSON响应被非常小的数组截断

C# JSON响应被非常小的数组截断,c#,arrays,json,asp.net-core,C#,Arrays,Json,Asp.net Core,在控制器方法上,在返回值之前,正确填充结果数组。但是,生成的JSON响应从一开始就被截断。这是在asp net core 2.1上。我有一个中间件块,但在返回响应时没有被调用,只有在请求中 我已经尝试了ReferenceLoopHandling选项,但没有成功,我正在处理非常小的数组 [HttpGet(“GetAll”)] 公共IEnumerable GetAll() { var result=_dbManager.GetAllJobs(); 返回结果; } 响应应该是完全构造的Json数组,

在控制器方法上,在返回值之前,正确填充结果数组。但是,生成的JSON响应从一开始就被截断。这是在asp net core 2.1上。我有一个中间件块,但在返回响应时没有被调用,只有在请求中

我已经尝试了ReferenceLoopHandling选项,但没有成功,我正在处理非常小的数组

[HttpGet(“GetAll”)]
公共IEnumerable GetAll()
{
var result=_dbManager.GetAllJobs();
返回结果;
}
响应应该是完全构造的Json数组,但是我得到了以下结果:

[{

你可以很容易地绘制这样的地图

[HttpGet("GetAll")]
public async Task<IActionResult> GetAll()
{
    var result = _dbManager.GetAllJobs();
    return Ok(result.Select(x=> new JobDto(){ Id = x.Id, JobName = x.Name ....}));
}
[HttpGet(“GetAll”)]
公共异步任务GetAll()
{
var result=_dbManager.GetAllJobs();
返回Ok(result.Select(x=>newjobdto(){Id=x.Id,JobName=x.Name….}));
}

将实体映射到DTO。这将解决您的问题。@YigitTanriverdi谢谢,它确实解决了,但为什么呢?因为您的实体与Asp.net核心之间存在关系,无法序列化它们@梅廷