Supongamos que quiero crear un objeto Uri de la siguiente cadena:Creación de un Uri en .NET urldecodes automáticamente todos los parámetros de cadena pasada
string url = @"http://someserver.com?param1=1&url=http%3a%2f%2fwww.otherserver.com";
Uri uri = new Uri(url, UriKind.Absolute);
resultado esperado sería:
http://someserver.com?param1=1&url=http%3a%2f%2fwww.otherserver.com
Obtenido:
http://someserver.com/?param1=1&url=http://www.otherserver.com
El mismo comportamiento se nota en muchos métodos relacionados que permiten la creación de Uri: Uri.TryCreate, UriBuilder.Uri, etc.
¿Cómo obtendré un Uri que conserve el parámetro codificado inicial?
Resultado esperado de hacer qué? Si pruebo su código en una aplicación de consola 'Console.WriteLine (uri.AbsoluteUri);' devuelve la url codificada –
Para otras búsquedas relacionadas con esto. En realidad, es el método ToString() que decodifica la cadena. .OriginalString o .AbsoluteUri devolverá la cadena codificada. Para una URL relativa, use .PathAndQuery – jishi