Невозможно использовать Microsoft.AspNet.OData.Routing.ODataRoute с маршрутизацией конечных точек. Исключение с ASP Net Core 2.2

После обновления платформы проекта веб-API ASP NET до версии Core 2.2 настройка маршрута OData не выполняется. Он выдает сообщение «Невозможно использовать Microsoft.AspNet.OData.Routing.ODataRoute с маршрутизацией конечных точек». Исключение.

Ссылка 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());
    });
}

person Oscar Llop    schedule 13.12.2018    source источник


Ответы (1)


У меня была такая же проблема после обновления до .net core 2.2, и я обнаружил, что .net core 2.2 по умолчанию включил маршрутизацию конечных точек, и у них есть обратная возможность отключить ее таким образом. У меня это сработало.

services.AddMvc(options =>
                {
                  options.EnableEndpointRouting = false;
                })
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_2));
person Ankit Patel    schedule 17.12.2018
comment
Это правильно, но я ищу решение, не отключая новую маршрутизацию конечных точек. Является ли это возможным? - person Oscar Llop; 13.06.2019
comment
Я тоже ищу ответ по этому поводу. Я хочу иметь возможность использовать Odata для чтения и регулярной маршрутизации моих сообщений / вставок / удалений. - person JDBennett; 13.06.2019
comment
Я вижу использование CompatibilityVersion.Version_2_1 согласно github.com/OData/WebApi/issues/1707 - person David Burg; 06.02.2020