Uri与空路径

6 .net c# uri

可以使用System.Uri表示带有空路径组件的URL吗?

每当我创造

new Uri("http://example.com")
Run Code Online (Sandbox Code Playgroud)

.Net(4)似乎坚持附加一个尾部斜杠,从而创建一个不同的URL.换一种说法,

new Uri("http://example.com").ToString()
Run Code Online (Sandbox Code Playgroud)

返回" http://example.com/ "和

new Uri("http://example.com").Equals(new Uri("http://example.com/")) == true
Run Code Online (Sandbox Code Playgroud)

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

更新:

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

通常,使用具有
空路径的权限的通用语法的URI 应该规范化为路径"/".

措辞表明这是可选的.所以问题仍然存在:Uri可以不做吗?

Pal*_*lec 2

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

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