问题
I have a new project with .Net Core. It's a WebAPI project. And I have a separate project for my model.
In WebAPI project, in a controller, I have something like this:
// GET: api/questions
[HttpGet]
public IEnumerable<Question> GetQuestions()
{
return _context.Questions
.Include( i => i.QuestionType );
}
When I call http://localhost:55555/api/questios/ it just returns the first record, and then this error message:
Recv failure: Connection was reset
If I remove the Include part and just return the _context.Questions, it work just fine!
What's wrong in my code?
回答1:
I've found the answer. Thank you everyone who helped.
I added json options according to Loading related data
If you are using ASP.NET Core, you can configure Json.NET to ignore cycles that it finds in the object graph. This is done in the ConfigureServices(...) method in Startup.cs.
services.AddMvc()
.AddJsonOptions(
options => options.SerializerSettings.ReferenceLoopHandling
= Newtonsoft.Json.ReferenceLoopHandling.Ignore );
回答2:
Try this:
// GET: api/questions
[HttpGet]
public IEnumerable<Question> GetQuestions()
{
var res = _context.Questions
.Include( i => i.QuestionType ).ToArray();
return res;
}
来源:https://stackoverflow.com/questions/44322809/net-core-webapi-connection-reset-when-i-have-include-in-my-controller