Я создаю веб-интерфейс .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);
}
}
Будем весьма благодарны за любые идеи о том, что здесь происходит не так.