Невозможно использовать «Microsoft.AspNet.OData.Routing.ODataRoute» с маршрутизацией конечной точки.Исключение с ASP Net Core 2.2 - PullRequest
0 голосов
/ 13 декабря 2018

После обновления инфраструктуры проекта ASP NET Web API до версии 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());
    });
}

1 Ответ

0 голосов
/ 17 декабря 2018

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

services.AddMvc(options =>
                {
                  options.EnableEndpointRouting = false;
                })
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_2));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...