Параметры URL в кодировке UTF8 изменены контроллером ASP.NET WebAPI - PullRequest
0 голосов
/ 11 ноября 2019

Я создал очень простой контроллер с ASP.NET WebAPI без какой-либо настройки. Код выглядит следующим образом:

    public class TestController : ApiController
    {
        [Route("encoding/{x}")]
        [HttpGet]
        public string GetEncoding(string x)
        {
            return x;
        }
    }

Теперь от клиента мне нужно передать символ Unicode � с URL http://localhost:19477/encoding/�, который закодирован в http://localhost:19477/encoding/%EF%BF%BD. Однако во время отладки я обнаружил, что объект AbsoluteUri из Request изменен на "http://localhost:19477/encoding/%C3%AF%C2%BF%C2%BD", что меняет мой первоначальный путь. enter image description here

Это делает полученную строку полностью неверной из исходного запроса.

...