UrlHelper иногда не возвращает базовый URL - PullRequest
0 голосов
/ 13 июня 2018

Я создаю веб-интерфейс .NET Core 2.1 и испытываю проблемы с UrlHelper.Я использую метод Link для определения ссылок с одного ресурса на другой.Большую часть времени он работает просто отлично, но иногда в результирующей строке отсутствует базовый URL.

Например:

  • Запрос 1: http://localhost:1234/api/books?pageNumber=1&pageSize=10 OK
  • Запрос 2: http:///api/books?pageNumber=1&pageSize=10 не в порядке

И он перемещается между правильным и неправильным результатом, иногда все они неверны, а иногда все в порядке.

ConfigureServices:

        services.AddSingleton<IActionContextAccessor, ActionContextAccessor>();
        services.AddScoped<IUrlHelper, UrlHelper>(factory =>
        {
            var actionContext = factory.GetService<IActionContextAccessor>().ActionContext;
            return new UrlHelper(actionContext);
        });

Пример метода создания ссылок (нумерация страниц):

        public string CreateResourceUri(
        ResourceUriType type,
        string name,
        IUrlHelper urlHelper,
        object additionalValues = null)
    {
        dynamic values = CreateValues().Merge(additionalValues);

        switch (type)
        {
            case ResourceUriType.PreviousPage:
                values.pageNumber = values.pageNumber - 1;
                return urlHelper.Link(
                    name,
                    values);
            case ResourceUriType.NextPage:
                values.pageNumber = values.pageNumber + 1;
                return urlHelper.Link(
                    name,
                    values);
            default:
                return urlHelper.Link(
                    name,
                    values);
        }
    }

Будем весьма благодарны за любые идеи о том, что здесь происходит не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...