UriKind.Relative
,UriKind.Absolute
和UriKind.RelativeOrAbsolute
之间有什么区别?
答案 0 :(得分:1)
你真的可以自己找到这个。这是MSDN页面的链接:
绝对URI的特点是对资源的完整引用(例如:http://www.contoso.com/index.html),而相对Uri依赖于先前定义的基URI(例如:/index.html)。
答案 1 :(得分:1)
某些API需要绝对URI,其他API需要相对URI但大多数都不关心。
通过使用相应的UriKind参数创建Uri(例如,new Uri(*yourString*, UriKind.Absolute)
,您可以确保API将获得它可以处理的那种Uri。但是这种保证的代价是您必须处理异常来自Uri构造函数。但至少你正在处理更接近问题根源的潜在错误,并且应该能够提供更好的用户体验。
答案 2 :(得分:0)
UriKind.Relative:相对Uri将“相对于项目的结构,带有正斜杠字符/我们从项目中指定了根。例如:
新的Uri(“ / index.html”,UriKind.Relative)
UriKind.Absolute:绝对URI是完整的url,以协议名称开头例如:
新的Uri(“ http://www.testdomain.com/index.html”,UriKind.Absolute)
UriKind.RelativeOrAbsolute:在这种情况下,运行时将自行解决它,并将尝试清理我们提供的UriString并弄清楚资源在哪里。