是否可以使用 System.Uri 来表示带有空路径组件的 URL?
每当我创作时
new Uri("http://example.com")
.Net (4) 似乎坚持附加尾部斜杠,从而创建不同的 URL。换句话说,
new Uri("http://example.com").ToString()
返回“http://example.com/ http://example.com/" and
new Uri("http://example.com").Equals(new Uri("http://example.com/")) == true
这种破坏行为(根据 RFC 3986)可以被抑制吗?还是我必须推出自己的课程?
Update:
看起来我在第 6.2.3 节中错过了这一点:
一般来说,使用通用语法的 URI 具有
空路径应规范为“/”路径。
然而,措辞表明这是可选的。所以问题仍然存在:能否让 Uri 不这样做?
从 .NET 2.0 开始,您可以通过以下方式获取传递给构造函数的原始字符串OriginalString财产 http://msdn.microsoft.com/en-us/library/system.uri.originalstring.aspx。原始字符串丢失时Uri
对象被序列化。
如果这不是您想要的,则没有任何帮助。Equals
and ToString
方法将始终使用规范化版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)