Uri与空路径

时间:2013-10-26 19:50:29

标签: c# .net uri

是否可以用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可以不做吗?

1 个答案:

答案 0 :(得分:1)

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

如果这不是您想要的,那就没有帮助。 UriEquals方法将始终使用规范化版本。