Solución:
Tuve un problema similar. Estoy usando Entity Framework Core 1.1, que no permite la carga diferida. Mi error fue causado por un bucle de gráfico de objetos en una relación de muchos a muchos.
Como EFCore 1.1 no admite muchos a muchos de fábrica, mis modelos tenían referencias en bucle. Mi serializador JSON se atascó en un bucle infinito mientras intentaba serializar los datos devueltos por mi clase de controlador.
Si tiene este problema y ninguna de las otras soluciones funciona, le sugiero que cambie su archivo Startup.cs ConfigureServices()
método. La línea services.AddMvc();
debería cambiarse a esto:
services.AddMvc()
.AddJsonOptions(options => options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
Simplemente edite su web.config y configure stdoutLogEnabled="true"
a verdadero, así como establecer la ruta donde se escribirá el archivo de registro.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile=".logsstdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
Pero necesita habilitar al menos el registrador de la consola, ya que básicamente simplifica la salida de la consola a un archivo.
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
...
}
La sección “Registro” está configurada en appsettings.json, como
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}