6

是否可以使用 System.Uri 表示具有空路径组件的 URL?

每当我创建

new Uri("http://example.com")

.Net (4) 似乎坚持附加一个斜杠,从而创建一个不同的 URL。换句话说,

new Uri("http://example.com").ToString()

返回“ http://example.com/ ”和

new Uri("http://example.com").Equals(new Uri("http://example.com/")) == true

可以抑制这种破坏行为(根据 RFC 3986)还是我必须推出自己的课程?

更新:

看起来我在第 6.2.3 节中错过了这个:

一般而言,使用通用语法的具有
空路径的权限的 URI 应规范化为“/”路径。

然而,措辞表明这是可选的。所以问题仍然存在:可以让 Uri 不这样做吗?

4

1 回答 1

2

OriginalString从 .NET 2.0 开始,您可以通过property获取传递给构造函数的原始字符串。Uri序列化对象时原始字符串丢失。

如果这不是您想要的,则没有任何帮助。EqualsToString方法将始终使用规范化版本。

于 2014-02-02T03:43:29.173 回答