Доступ к необработанным параметрам запроса в ASP.NET Core - PullRequest
0 голосов
/ 11 мая 2018

Я хочу получить доступ к необработанным параметрам запроса в ASP.NET Core 2.0. В настоящее время HttpRequest.Query предоставляет доступ к строкам, декодированным из кодировки, закодированной в URL, но неправильно декодирует ее.Как я могу получить доступ к необработанным параметрам вместо того, чтобы анализировать полную строку запроса вручную?

1 Ответ

0 голосов
/ 12 мая 2018

Хорошо, похоже, я преодолел эту проблему.

Итак, как я это сделал?

Я использовал QueryFeature класс из источника ядра asp.net изаменил вызов на QueryHelpers.ParseNullableQuery ( вы можете найти его здесь ) с немного измененной реализацией этого помощника без вызова Uri.UnescapeDataString для значения параметра.

Затем создал класс промежуточного программного обеспечения, который устанавливает мой пользовательскийQueryFeature для HttpContext:

context.Features.Set<IQueryFeature>(new MyQueryFeature(context.Features));

и использовал его во время настройки приложения.

Не забывайте, что после этого все ваши параметры останутся закодированными в URL, если они были.

...