如何在.Net Core Web API中停止自引用循环?
我有一些问题,我猜这些问题与使用.NET Core Web API和Entity Framework Core进行自引用有关。 我添加时,我的Web API开始窒息。包括一些导航属性。
我发现旧的Web API中似乎是一个解决方案,但我不知道如何为.NET Core Web API实现相同的function(我还处于早期学习阶段)。
较旧的解决方案是将其粘贴在Global.asax的Application_Start()中:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;
我怀疑这是在StartUp的ConfigureService()方法中处理的,但除此之外我不太了解。
或者有更合适的方法来处理这个问题吗?
好的……我终于在此找到了一些参考资料。 解决方案是:
public void ConfigureServices(IServiceCollection services) { ... services.AddMvc() .AddJsonOptions( options => options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore ); ... }
我从这里得到了这个
- ASP.NET Core API Controller:Response.Body.WriteAsync base64字符串无法正常工作
- 在ASP.NET Core Web API中注册新的DelegatingHandler
- 从ASP.NET核心中的类库加载和注册API控制器
- ASP.Net Core + EF + OData V4核心Beta 2
- ASP.Net Core Web API基于约定的路由?
- 是否真的需要.net core 2 API中的services.AddSingleton
- 路由控制器和中间件中的操作
- AspNetCore上的unit testing控制器模型validation
- 如何正确地将OData与ASP.net Core集成