C#引用的对象类型不支持尝试的操作

时间:2012-05-17 07:33:15

标签: c# ip-address socketexception system.net

当我尝试解析字符串形式的IP地址时出现此错误。

我在测试时使用了公共dns ip地址(4.2.2.2)(使用System.Net的IPAddress.Parse方法)。

它正确解析并返回一个IPAddress对象。但是,如果我尝试访问此对象的ScopeId属性,则抛出SocketException,并在标题中给出消息。

我真的无法弄清楚这里的问题是什么。当我检查IPAddress.ScopeId属性的文档时,它说当AddressFamily = InterNetwork时会抛出异常,这就是我的例子。

有人可以解释一下这个原因。

1 个答案:

答案 0 :(得分:7)

ScopeIDIPv6特定字段。您有一个IPv4地址。因此,提出了一个例外。在这种情况下, InterNetwork 表示IPv4。