В моем приложении есть конечная точка API, которая принимает строку в качестве параметра URL, который может содержать /
, закодированный как %2f
.
Например, GET http://localhost:5000/api/foo/some%2fstring
Действие контроллера получает этот параметр в своем закодированном состоянии (some%2fstring
) и может обрабатывать его так, как считает нужным.
Однако после развертывания в IIS это прерывается.IIS, кажется, декодирует URL-адрес перед передачей его Kestrel.Журналы показывают что-то вроде этого:
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET http://example.com/api/foo/some/string application/json
Очевидно, что шаблон не соответствует маршруту, и запрос 404 с.
Как я могу запретить IIS манипулировать URL-адресом перед отправкойKestrel