将IPv6环回地址解析为Uri

时间:2015-09-15 14:50:40

标签: c# sockets asp.net-web-api

我已经编写了一个客户端/服务器应用程序,我在本地计算机上进行了测试。

服务器将客户端的IP地址读为::1,这是一个IPv6环回地址。

但是,我需要通过提供Uri的BaseAddress重新建立到此客户端的HttpClient连接:

  var originalAddress = "::1";
  var client = new HttpClient() { BaseAddress = new Uri(originalAddress) };

这导致异常Invalid URI: The format of the URI could not be determined.

如何让Uri接受这个地址?

1 个答案:

答案 0 :(得分:4)

正如其他帖子所述,解决方案是根据RFC 2732在IPv6地址周围括起括号:

var uri = new Uri("http://[::1]:8080");