Tengo un problema con la implementación URI de .NET. Parece que si el esquema es "ftp", la parte de la consulta no se analiza como una consulta, sino como parte de la ruta en su lugar.¿Alternativa a la implementación URI de .NET?
Tome el siguiente código de ejemplo:
Uri testuri = new Uri("ftp://user:[email protected]/?passive=true");
Console.WriteLine(testuri.Query); // Outputs an empty string
Console.WriteLine(testuri.AbsolutePath); // Outputs "/%3Fpassive=true"
Me parece que la clase Uri analiza erróneamente la parte de consulta como parte de la ruta. Sin embargo cambiar el esquema de HTTP, el resultado es el esperado:
Uri testuri = new Uri("http://user:[email protected]/?passive=true");
Console.WriteLine(testuri.Query); // Outputs "?passive=true"
Console.WriteLine(testuri.AbsolutePath); // Outputs "/"
¿Alguien tiene una solución para esto, o sabe de una clase Uri alternativa que funciona como se esperaba?