У Webapi есть проблемы с некоторыми символами.
Поэтому у меня есть APIservice, который делает много вещей с данными.
Одна вещь, которую он делает, - это получает "кандидатов" по их регистрационным данным.
Такой код делает свою работу
[HttpGet] [Route("{name}/{password}/ByNameAndPassword")] public async Task<HttpResponseMessage> GetCandidateByNameAndPasswordAsync(string name, string password) { var candidate = await candidatesManager.GetCandidateByNameAndPasswordAsync(name, password); if (candidate.CandidateId != 0) { return Request.CreateResponse(System.Net.HttpStatusCode.OK, candidate); } else { return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Candidate with the requested credentials not found."); } }
Однако это работает во многих случаях. Но в некоторых случаях с символами этот код даже не доходит до отправителя/клиента.
Проблема возникает только с помощью Get.
Вставка данных не является проблемой.
Пример: когда я использую имя или пароль, содержащие следующий список символов, это не работает.
#
%
&усилитель;
*
:
"
'
&низкотемпературный;
>
?
/
.
Мой вопрос будет очевиден: почему это не работает, если один или несколько из этих персонажей участвуют в случае GET?
Что я уже пробовал:
Я пробовал все, что мог придумать, но у меня действительно больше нет идей.