是否可以用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可以不做吗?
答案 0 :(得分:1)
从.NET 2.0开始,您可以通过OriginalString
property获取传递给构造函数的原始字符串。 <{1}}对象序列化后,原始字符串将丢失。
如果这不是您想要的,那就没有帮助。 Uri
和Equals
方法将始终使用规范化版本。