Вставить параметр запроса во все URL, созданные IUrlHelper - PullRequest
0 голосов
/ 24 октября 2018

Могу ли я добавить аргумент, который должен быть добавлен к любому маршруту, созданному IUrlHelper где-нибудь на глобальном уровне?

У меня есть необязательный параметр запроса, который относится только к промежуточному программному обеспечению в конвейере до UseMvc.Если он существует, его также следует применять ко всем URL-адресам, которые создаются IUrlHelper.

Пример: http://server/api/somecontroller/123?specialMode=X

Я не использую глобальные маршруты (.UseMvc(builder => {})), но базукласс контроллера, к которому применено [Route("/api/[controller]")].

Само действие контроллера ничего не знает о параметре specialMode:

[HttpGet("{id:int}", Name = "RouteName"]
public string GetFollowUpUri(int id)
{
    return Url.Link("RouteName", new {id = id * 2}); // really just stupid sample code
}

Это должно вернуть /api/somecontroller/246?specialMode=X, но, конечно, отсутствует specialMode=X часть.Могу ли я внедрить это, используя какой-нибудь IActionFilter или аналогичный глобально для всех контроллеров и их действий?

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