我有一个带有.Net Core的新项目。这是一个WebAPI项目。我的模型有一个单独的项目。
在WebAPI项目中,在控制器中,我有这样的东西:
// GET: api/questions
[HttpGet]
public IEnumerable<Question> GetQuestions()
{
return _context.Questions
.Include( i => i.QuestionType );
}
当我调用http://localhost:55555/api/questios/
时,它只返回第一条记录,然后显示以下错误消息:
Recv failure:连接已重置
如果我删除Include
部分并返回_context.Questions
,那就可以正常使用了!
我的代码出了什么问题?
答案 0 :(得分:10)
我找到了答案。谢谢所有帮助过的人。
添加了json选项如果您使用的是ASP.NET Core,则可以将Json.NET配置为忽略它在对象图中找到的循环。这是在Startup.cs中的ConfigureServices(...)方法中完成的。
services.AddMvc()
.AddJsonOptions(
options => options.SerializerSettings.ReferenceLoopHandling
= Newtonsoft.Json.ReferenceLoopHandling.Ignore );
答案 1 :(得分:0)
试试这个:
// GET: api/questions
[HttpGet]
public IEnumerable<Question> GetQuestions()
{
var res = _context.Questions
.Include( i => i.QuestionType ).ToArray();
return res;
}