IPGlobalProperties.GetUnicastAddressesAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
以一部操作检索本地计算机上稳定的单播 IP 地址表。
public:
virtual System::Threading::Tasks::Task<System::Net::NetworkInformation::UnicastIPAddressInformationCollection ^> ^ GetUnicastAddressesAsync();
public virtual System.Threading.Tasks.Task<System.Net.NetworkInformation.UnicastIPAddressInformationCollection> GetUnicastAddressesAsync ();
abstract member GetUnicastAddressesAsync : unit -> System.Threading.Tasks.Task<System.Net.NetworkInformation.UnicastIPAddressInformationCollection>
override this.GetUnicastAddressesAsync : unit -> System.Threading.Tasks.Task<System.Net.NetworkInformation.UnicastIPAddressInformationCollection>
Public Overridable Function GetUnicastAddressesAsync () As Task(Of UnicastIPAddressInformationCollection)
返回
表示异步操作的任务对象。
例外
调用本机 GetAdaptersAddresses
函数失败。
调用方没有必需的 Read 权限。
调用本机 NotifyStableUnicastIpAddressTable
函数失败。
注解
为了支持出站连接或接受 Teredo 接口上的传入连接,应用程序需要确保 Teredo 接口已启动并可供使用。 这是因为 Teredo 在一段时间内不使用时可能会进入休眠状态。
方法 GetUnicastAddressesAsync 将允许应用程序以异步操作的形式检索稳定的单播 IP 地址列表。 属性 IPAddress.IsIPv6Teredo 可用于确定 IP 地址是否为前缀为 2001::/32 的 IPv6 Teredo 地址。
方法 GetUnicastAddresses 还返回非 Teredo 地址,并提供一种更方便的方式来获取系统的单播 IP 地址,而不是枚举本地计算机上的所有 System.Net.NetworkInformation.NetworkInterface 对象并查询关联的 IP 地址。
此方法存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 GetUnicastAddresses()异常。