【发布时间】:2009-02-10 11:22:39
【问题描述】:
我对 .NET 的 Uri 实现有疑问。似乎如果方案是“ftp”,则查询部分不会被解析为查询,而是作为路径的一部分。
以如下代码为例:
Uri testuri = new Uri("ftp://user:pass@localhost/?passive=true");
Console.WriteLine(testuri.Query); // Outputs an empty string
Console.WriteLine(testuri.AbsolutePath); // Outputs "/%3Fpassive=true"
在我看来,Uri 类错误地将查询部分解析为路径的一部分。不过将scheme改成http,结果如预期:
Uri testuri = new Uri("http://user:pass@localhost/?passive=true");
Console.WriteLine(testuri.Query); // Outputs "?passive=true"
Console.WriteLine(testuri.AbsolutePath); // Outputs "/"
有没有人对此有解决方案,或者知道可以按预期工作的替代 Uri 类?
【问题讨论】: