IPGlobalProperties.GetUnicastAddressesAsync 方法

定义

以一部操作检索本地计算机上稳定的单播 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()异常。

适用于

另请参阅