在ASP.NET Core(.NET 6)中同时配置OData批处理与自定义MediaTypeResolver
在ASP.NET Core (.NET 6) OData中同时启用自定义MediaTypeResolver和批处理功能
你可以使用AddRouteComponents的四参数重载,同时传入DefaultODataBatchHandler和服务配置委托,以此实现两项功能的共存。
该重载签名为:
AddRouteComponents(string routePrefix, IEdmModel model, ODataBatchHandler batchHandler, Action<IServiceCollection> configureServices)
完整配置代码如下:
builder.Services .AddControllers() .AddOData(options => options .EnableQueryFeatures() .AddRouteComponents( "odata/v1", Startup.GetEdmModel(), new DefaultODataBatchHandler(), service => service.AddSingleton<ODataMediaTypeResolver>(sp => new CustomizedMediaTypeResolver())) .Select() .Filter() .OrderBy() .Count() );
这个重载既允许你指定批处理处理器来启用OData批处理功能,又能通过最后的服务配置委托注册自定义的ODataMediaTypeResolver,完美整合你需要的两项配置。
内容的提问来源于stack exchange,提问作者Bruno
相关产品推荐
相关产品推荐

