HttpClient декодирует мой Uri

В общем, есть POST Action, который обрабатывает такой url:

api/{id}/{path}

На клиенте я формирую строчку, что бы обратиться к Api и выполняю экранирование параметра Path с помощью Uri.EscapeDataString.

Шлю запрос, а в логах сервера я вижу, что мой Url не сматчился нигде из-за того, что path был декодирован при отправке...

Такая проблема у меня возникает при использовании .Net Framework 4.0, который нужно использовать в данном проекте. В .Net Core 3.0 такая проблема не воспроизводится...

Что я могу сделать, что бы решить данную проблему?


Ответы (1 шт):

Автор решения: iluxa1810

В общем, если заэкранировать {path} 2 раза Uri.EscapeDataString, то он снимает только один уровень экранирования и остается мой желаемый Uri.

→ Ссылка