asp.net-core - 不能将 'Microsoft.AspNet.OData.Routing.ODataRoute' 与端点路由一起使用。 ASP Net Core 2.2 的异常

标签 asp.net-core odata asp.net-core-2.2

ASP NET Web API项目框架升级到Core 2.2版本后,OData路由配置失败。它抛出“无法将 'Microsoft.AspNet.OData.Routing.ODataRoute' 与端点路由一起使用。”异常(exception)。

链接 https://github.com/Microsoft/aspnet-api-versioning/issues/361展示了如何避免异常但禁用新的 Core 2.2 路由模型。您能告诉我如何在不停用此功能的情况下解决问题吗?

 public IServiceProvider ConfigureServices(IServiceCollection services)
 {
      ...

      services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2).AddControllersAsServices();

      ...
 }

 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
 {

    ...

    app.UseMvc(b =>
    {
        b.Select().Expand().Filter().OrderBy().MaxTop(100).Count();
        b.MapODataServiceRoute("odata", "odata", ODataConfig.GetEdmModel());
    });
}

最佳答案

升级到 .net core 2.2 后我遇到了同样的问题,发现 .net core 2.2 默认启用了端点路由,并且它们具有像这样禁用它的向后功能。它对我有用。

services.AddMvc(options =>
                {
                  options.EnableEndpointRouting = false;
                })
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_2));

关于asp.net-core - 不能将 'Microsoft.AspNet.OData.Routing.ODataRoute' 与端点路由一起使用。 ASP Net Core 2.2 的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53759817/

相关文章:

asp.net-mvc - 如何更改 .NET Core 中 SQL 数据库中的 FirstName 属性?

xml - R 中的错​​误 : no applicable method for 'xpathApply'

kendo-ui - 将 Odata 绑定(bind)到 KendoUI 数据源以与 Kendo Grid 一起使用

asp.net-core - 为什么 ClaimTypes.NameIdentifier 没有映射到 'sub' ?

c# - HTTP 错误 502.5 - 升级到 ASP.NET Core 2.2 后 ANCM 进程外启动失败

asp.net-core - 如何使用 Identity server 4 JWT 身份验证和资源所有者密码授予使 jwt 访问 token 失效或撤销?

c# - 在 Controller 之外获取当前用户

c# - 登录后覆盖.Net Core "CultureInfo"

c# - 更改模型中 OnPost 中的绑定(bind)属性无效

odata - 如何在 OData 调用中排除多个值?