Я отслеживаю ошибку в приложении Url Rewriting. Ошибка возникла как проблема кодирования некоторых диакритических символов в запросе.
В основном проблема заключалась в том, что запрос, который был в основном /search.aspx?search=heřmánek, переписывался с помощью запроса "search = he% c5% 99m% c3% a1nek"
Правильное значение (с использованием какого-то другого рабочего кода) было перепиской запроса: "search = he% u0159m% u00e1nek"
Обратите внимание на разницу между двумя строками. Однако, если вы опубликуете оба, вы увидите, что кодировка Url воспроизводит одну и ту же строку. Это не до тех пор, пока вы не используете контекст. Перепишите функцию, которая прерывается кодировкой. Сломанная строка возвращает "heÅmánek" (используя Request.QueryString [ "Поиск" ], а рабочая строка возвращает "heřmánek". Это изменение происходит после вызова функции перезаписи.
Я проследил это до одного набора кода, используя Request.QueryString(рабочий), а другой с помощью Request.Url.Query(request.Url возвращает экземпляр Uri).
Пока я выработал ошибку, в моем понимании есть дыра, поэтому, если кто-то знает разницу, я готов к уроку.