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

标签 c# ip-address socketexception system.net

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

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

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

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

谁能解释一下这是什么原因。

最佳答案

ScopeID是一个 IPv6特定领域。你有一个 IPv4地址。因此,引发异常。 InterNetwork 在这种情况下表示 IPv4。

关于C# 引用的对象类型不支持尝试的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10631615/

相关文章:

php - 多个访问者可以共享同一个IP地址吗?

java - 错误帮助 java.net.SocketException : Connection reset

c# - 使用 RestSharp 为 Etsy 的 API 获取 signature_invalid 调用 oauth/request_token

java - 基于证书和IP的认证

c# - Asp .net core 更改密码需要重启应用程序

c++ - 使用 C++ 和 Linux 获取系统的逻辑地址

windows - ServiceStack.Redis从Redis服务器读取大文件

c# - 发送大量数据时“连接被远程主机强行关闭”

c# - 如何使用 asp.net C# 从 GridView 中的 TemplateField 获取值?

c# - 如何在 C# 中从控制台读取很长的输入?