Как кодировать путь, содержащий хэш?

Как правильно кодировать путь , который включает в себя хэш (#) ? Обратите внимание, что хеш - это не индикатор фрагмента (закладки?), А часть имени пути.

Например, если существует такой путь:

http://www.contoso.com/code/c#/somecode.cs

Это вызывает проблемы, когда вы, например, пытаетесь сделать это:

Uri myUri = new Uri("http://www.contoso.com/code/c#/somecode.cs");

Казалось бы, он интерпретирует хеш как индикатор фрагмента.

Кажется неправильным вручную заменять # на% 23. Есть ли другие символы, которые следует заменить? В Uri и HttpUtility есть несколько методов экранирования, но, похоже, ни один из них не помогает.

18
задан Dodgyrabbit 16 February 2012 в 21:53
поделиться