Я создал очень простой контроллер с 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"
, что меняет мой первоначальный путь.
Это делает полученную строку полностью неверной из исходного запроса.