Невозможно получить GetPathByAction в .net core 3 - PullRequest
0 голосов
/ 27 октября 2019

После миграции с .net core 2.2 на 3.0 я столкнулся с проблемой с генератором ссылок в .net core.

В 2.2 я мог сделать это, и он дал мне путь, как и ожидалось:

[Route("/api/store/books")]
public class BooksController : Controller
{
    [HttpGet(Name = "GetBooks")]
    public async Task<IActionResult> GetBooks(string continuation)
    {
        //...
        var path = linkGenerator.GetPathByAction(HttpContext, nameof(GetBooks), "Books", new { continuation = nextContinuationToken } );
    }
}

Теперь в версии 3.0 я получаю null назад, как будто путь больше не может быть разрешен.

Я даже пытался сократить его до этого, но я все еще получаю ноль:

var path = linkGenerator.GetPathByAction(nameof(GetBooks), "Books" );

Чтобы сохранить совместимость с другой конфигурацией, я установил options.EnableEndpointRouting = false; после перехода на 3.0. При использовании маршрутизации в конечной точке все работает как в 2.2.

Можно ли использовать GetPathByAction без маршрутизации в конечной точке?

...