IPAddressInformation.IsDnsEligible 属性
定义
public:
abstract property bool IsDnsEligible { bool get(); };
public abstract bool IsDnsEligible { get; }
member this.IsDnsEligible : bool
Public MustOverride ReadOnly Property IsDnsEligible As Boolean
属性值
如果地址可以出现在 DNS 数据库,则为 true;否则为 false。true if the address can appear in a DNS database; otherwise, false.
示例
下面的代码示例显示了本地计算机上的网络接口的任意播地址。The following code example displays the anycast addresses for the network interfaces on the local computer.
void DisplayAnycastAddresses()
{
int count = 0;
Console::WriteLine( "Anycast Addresses" );
array<NetworkInterface^>^adapters = NetworkInterface::GetAllNetworkInterfaces();
System::Collections::IEnumerator^ myEnum13 = adapters->GetEnumerator();
while ( myEnum13->MoveNext() )
{
NetworkInterface ^ adapter = safe_cast<NetworkInterface ^>(myEnum13->Current);
IPInterfaceProperties ^ adapterProperties = adapter->GetIPProperties();
IPAddressInformationCollection ^ anyCast = adapterProperties->AnycastAddresses;
if ( anyCast->Count > 0 )
{
Console::WriteLine( adapter->Description );
System::Collections::IEnumerator^ myEnum14 = anyCast->GetEnumerator();
while ( myEnum14->MoveNext() )
{
IPAddressInformation ^ any = safe_cast<IPAddressInformation ^>(myEnum14->Current);
Console::WriteLine( " Anycast Address .......................... : {0} {1} {2}",
any->Address, any->IsTransient ? "Transient" : "",
any->IsDnsEligible ? "DNS Eligible" : "" );
count++;
}
Console::WriteLine();
}
}
if (count == 0)
{
Console::WriteLine(" No anycast addresses were found.");
Console::WriteLine();
}
}
public static void DisplayAnycastAddresses()
{
int count = 0;
Console.WriteLine("Anycast Addresses");
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in adapters)
{
IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
IPAddressInformationCollection anyCast = adapterProperties.AnycastAddresses;
if (anyCast.Count >0)
{
Console.WriteLine(adapter.Description);
foreach (IPAddressInformation any in anyCast)
{
Console.WriteLine(" Anycast Address .......................... : {0} {1} {2}",
any.Address,
any.IsTransient ? "Transient" : "",
any.IsDnsEligible ? "DNS Eligible" : ""
);
count++;
}
Console.WriteLine();
}
}
if (count == 0)
{
Console.WriteLine(" No anycast addressses were found.");
Console.WriteLine();
}
}
Public Shared Sub DisplayAnycastAddresses()
Dim count as Integer = 0
Console.WriteLine("Anycast Addresses")
Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
Dim adapter As NetworkInterface
For Each adapter In adapters
Dim adapterProperties As IPInterfaceProperties = adapter.GetIPProperties()
Dim anyCast As IPAddressInformationCollection = adapterProperties.AnycastAddresses
If anyCast.Count > 0 Then
Console.WriteLine(adapter.Description)
Dim any As IPAddressInformation
For Each any In anyCast
Console.WriteLine(" Anycast Address .......................... : {0} {1} {2}", any.Address, IIf(any.IsTransient, "Transient", ""), IIf(any.IsDnsEligible, "DNS Eligible", ""))
'TODO: For performance reasons this should be changed to nested IF statements
'TODO: For performance reasons this should be changed to nested IF statements
count += 1
Next any
Console.WriteLine()
End If
Next adapter
if count = 0 then
Console.WriteLine(" No anycast addresses were found.")
Console.WriteLine()
End if
End Sub
注解
范围为169.254.255.255 的地址不符合 DNS。Addresses in the range 169.254.0.0 to 169.254.255.255 are not DNS eligible. 这些地址保留给 (APIPA) 的自动专用 IP 寻址。These addresses are reserved for Automatic Private IP Addressing (APIPA).