考虑代码,假设baseUri
来自方法参数
Uri baseUri = new Uri("www.contoso.com:8080/", UriKind.RelativeOrAbsolute);
baseUri = baseUri.IsAbsoluteUri
? baseUri
: new Uri("http://" + baseUri.OriginalString);//make URI http by default
Uri myUri = new Uri(baseUri, "catalog/shownew.htm?date=today");
对于给定的字符串,IsAbsoluteUri返回true。但是,尽管在URI myUri.Port
中指定了端口,但是为-1且myUri.Host为空。
我应该如何解析此字符串以获取正确的端口号?
答案 0 :(得分:0)
您需要将http://
添加到基本uri字符串的开头,以使其成为有效的URI,例如:
Uri baseUri = new Uri("http://www.contoso.com:8080/", UriKind.RelativeOrAbsolute);