我尝试构建以下uri
http://localhost:8080/TestService.svc/RunTest
我做如下
var uriBuilder = new UriBuilder();
uriBuilder.Host = "localhost:8080/TestService.svc";
uriBuilder.Path = String.Format("/{0}", "RunTest");
string address = uriBuilder.ToString()
//In debugger the address looks like http://[http://localhost:8080/TestService.svc]/RunTest
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(address);
上面产生一个异常
Invalid URI: The hostname could not be parsed.
感谢您为解决问题提供的帮助
最佳答案
使用Uri构建器时,需要将主机,端口和路径作为自己的行。此外,TestService.svc也是路径的一部分,而不是主机的一部分,如果不使用端口,而必须使用端口,则必须将它们分开,否则可以忽略它。
var uriBuilder = new UriBuilder();
uriBuilder.Host = "localhost";
uriBuilder.Port = 8080;
uriBuilder.Path = String.Format("/{0}/{1}", "TestService.svc", "RunTest");
var address = uriBuilder.ToString();
关于c# - 使用UriBuilder并构造httpRequest,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26731176/