use Uri.OriginalString instead Uri.ToString()
Сегодня обнаружил нюанс при использовании класса Uri.
Метод Uri.ToString() “Возвращает каноническое строковое представление заданного экземпляра Uri.”(MSDN).
Но возвращаемое значение: “Экземпляр String, содержащий каноническое представление экземпляра Uri без преобразования в escape-последовательность. В escape-последовательность преобразовываются только знаки #, ? и %. “.
Тоесть если мы создадим такой экземпляр класса:
new Uri(“http://localhost/?param=one%26two”)
То метод ToString() возвращает “http://localhost/?param=one&two” что не совпадает с начальным адресом.
OriginalString успешно возвращает “http://localhost/?param=one%26two”
Taras on November 5th 2009 in Без Категорії