Dns.GetHostEntryAsync メソッド

定義

非同期操作としてホスト名または IP アドレスを IPHostEntry インスタンスに解決します。

オーバーロード

GetHostEntryAsync(IPAddress)

非同期操作として IP アドレスを IPHostEntry インスタンスに解決します。

GetHostEntryAsync(String)

非同期操作としてホスト名または IP アドレスを IPHostEntry インスタンスに解決します。

GetHostEntryAsync(String, CancellationToken)

非同期操作としてホスト名または IP アドレスを IPHostEntry インスタンスに解決します。

GetHostEntryAsync(String, AddressFamily, CancellationToken)

非同期操作としてホスト名または IP アドレスを IPHostEntry インスタンスに解決します。

GetHostEntryAsync(IPAddress)

ソース:
Dns.cs
ソース:
Dns.cs
ソース:
Dns.cs

非同期操作として IP アドレスを IPHostEntry インスタンスに解決します。

public:
 static System::Threading::Tasks::Task<System::Net::IPHostEntry ^> ^ GetHostEntryAsync(System::Net::IPAddress ^ address);
public static System.Threading.Tasks.Task<System.Net.IPHostEntry> GetHostEntryAsync (System.Net.IPAddress address);
static member GetHostEntryAsync : System.Net.IPAddress -> System.Threading.Tasks.Task<System.Net.IPHostEntry>
Public Shared Function GetHostEntryAsync (address As IPAddress) As Task(Of IPHostEntry)

パラメーター

address
IPAddress

IP アドレス。

戻り値

非同期操作を表すタスク オブジェクト。 タスク オブジェクトの Result プロパティは、addressで指定されているホストに関するアドレス情報を含む IPHostEntry インスタンスを返します。

例外

addressnullです。

address を解決するときにエラーが発生しました。

address は無効な IP アドレスです。

注釈

この操作はブロックされません。 が解決されると、返された Task<TResult> オブジェクトは完了 address します。

このメソッドは、DNS サーバーに対して、IP アドレスに関連付けられている IP アドレスとエイリアスを照会します。

ローカル コンピューターに IPv6 がインストールされていない場合、このメソッドの結果から IPv6 アドレスがフィルター処理されます。 その結果、 パラメーターで使用可能な IPv6 のみが結果である場合は、空 IPHostEntry のインスタンスを address 取得できます。

Aliases返されるインスタンスの IPHostEntry プロパティは、このメソッドによって設定されず、常に空になります。

注意

このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。

このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって GetHostEntry(IPAddress)スローされる例外に関するページを参照してください。

適用対象

GetHostEntryAsync(String)

ソース:
Dns.cs
ソース:
Dns.cs
ソース:
Dns.cs

非同期操作としてホスト名または IP アドレスを IPHostEntry インスタンスに解決します。

public:
 static System::Threading::Tasks::Task<System::Net::IPHostEntry ^> ^ GetHostEntryAsync(System::String ^ hostNameOrAddress);
public static System.Threading.Tasks.Task<System.Net.IPHostEntry> GetHostEntryAsync (string hostNameOrAddress);
static member GetHostEntryAsync : string -> System.Threading.Tasks.Task<System.Net.IPHostEntry>
Public Shared Function GetHostEntryAsync (hostNameOrAddress As String) As Task(Of IPHostEntry)

パラメーター

hostNameOrAddress
String

解決するホスト名または IP アドレス。

戻り値

非同期操作を表すタスク オブジェクト。 タスク オブジェクトの Result プロパティは、hostNameOrAddressで指定されているホストに関するアドレス情報を含む IPHostEntry インスタンスを返します。

例外

hostNameOrAddress パラメーターが null です。

hostNameOrAddress パラメーターの長さが 255 文字を超えています。

hostNameOrAddress パラメーターを解決するときにエラーが発生しました。

hostNameOrAddress パラメーターの IP アドレスが無効です。

注釈

この操作はブロックされません。 が解決されると、返された Task<TResult> オブジェクトは完了 hostNameOrAddress します。

このメソッドは、ホスト名または IP アドレスに関連付けられている IP アドレスを DNS サーバーに照会します。

空の文字列が引数として hostNameOrAddress 渡された場合、このメソッドはローカル ホストの IPv4 アドレスと IPv6 アドレスを返します。

ホスト名が見つからなかった場合、 SocketException 例外は 11001 (Windows ソケット エラー WSAHOST_NOT_FOUND) の値で返されます。 DNS サーバーが応答しない場合は、この例外を返すことができます。 この例外は、名前が公式のホスト名またはエイリアスではない場合、またはクエリ対象のデータベースで見つからない場合にも返されます。

ArgumentExceptionパラメーターに または IPv6Anyが含まれている場合hostNameOrAddressも、例外がAny返されます。

このメソッドは、 パラメーターに IP リテラル文字列が渡された場合、 hostNameOrAddress アプリケーションがすべてのプロパティ セットでインスタンスを IPHostEntry 返す必要があることを前提としています。 これらのプロパティには、AddressListAliasesおよび HostNameが含まれます。 その結果、このメソッドの実装では、IP 文字列リテラルが渡されると、次の動作が示されます。

  1. メソッドはアドレスの解析を試みます。 パラメーターに hostNameOrAddress 有効な IP 文字列リテラルが含まれている場合、最初のフェーズは成功します。

  2. IP 文字列リテラルの IP アドレスを使用した逆引き参照が、ホスト名の取得を試みます。 この結果は、 プロパティとして設定されます HostName

  3. この逆引き参照のホスト名を再度使用して、名前に関連付けられた使用可能なすべての IP アドレスを取得し、 AddressList プロパティとして設定します。

IPv4 文字列リテラルの場合、上記の 3 つの手順はすべて成功する可能性があります。 ただし、実際に別のホストに属している IPv4 アドレスの古い DNS レコードが返される可能性があります。 これにより、手順 3 が失敗し、例外がスローされる可能性があります (IPv4 アドレスには DNS PTR レコードがありますが、IPv4 アドレスの DNS A レコードはありません)。

IPv6 の場合、ほとんどの IPv6 デプロイでは IPv6 アドレスのリバース (PTR) レコードが登録されないため、上記の手順 2 が失敗する可能性があります。 そのため、このメソッドは、プロパティの完全修飾ドメイン (FQDN) ホスト名として文字列 IPv6 リテラルを HostName 返す場合があります。

メソッドは GetHostAddresses 、IP リテラルに関して異なる動作をします。 上記の手順 1 が成功した場合 (IP アドレスとして正常に解析されます)、そのアドレスはすぐに結果として返されます。 逆引き参照は試行されません。

ローカル コンピューターに IPv6 がインストールされていない場合、このメソッドの結果から IPv6 アドレスがフィルター処理されます。 その結果、IPv6 のみが .parameter で使用可能な場合は、空 IPHostEntry のインスタンスを hostNameOrAddress取得できます。

Aliases返されるインスタンスの IPHostEntry プロパティは、このメソッドによって設定されず、常に空になります。

このメソッドは、基になるオペレーティング システムの名前解決 API (Windows の Win32 API getaddrinfo、他のプラットフォームの同等の API など) を使用して実装されます。 ファイルに hosts ホストが記述されている場合、DNS サーバーに対してクエリを実行せずに、そこに存在する IP アドレスが返されます。

注意

このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。

このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって GetHostEntry(String)スローされる例外に関するページを参照してください。

適用対象

GetHostEntryAsync(String, CancellationToken)

ソース:
Dns.cs
ソース:
Dns.cs
ソース:
Dns.cs

非同期操作としてホスト名または IP アドレスを IPHostEntry インスタンスに解決します。

public:
 static System::Threading::Tasks::Task<System::Net::IPHostEntry ^> ^ GetHostEntryAsync(System::String ^ hostNameOrAddress, System::Threading::CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<System.Net.IPHostEntry> GetHostEntryAsync (string hostNameOrAddress, System.Threading.CancellationToken cancellationToken);
static member GetHostEntryAsync : string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.IPHostEntry>
Public Shared Function GetHostEntryAsync (hostNameOrAddress As String, cancellationToken As CancellationToken) As Task(Of IPHostEntry)

パラメーター

hostNameOrAddress
String

解決するホスト名または IP アドレス。

cancellationToken
CancellationToken

非同期操作のキャンセルが必要であることを示すために使用できるキャンセル トークン。

戻り値

非同期操作を表すタスク オブジェクト。 タスク オブジェクトの プロパティはResult、 でhostNameOrAddress指定されたホストに関するアドレス情報を含むインスタンスを返IPHostEntryします。

例外

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

注釈

このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって GetHostEntry(String)スローされる例外に関するページを参照してください。

適用対象

GetHostEntryAsync(String, AddressFamily, CancellationToken)

ソース:
Dns.cs
ソース:
Dns.cs
ソース:
Dns.cs

非同期操作としてホスト名または IP アドレスを IPHostEntry インスタンスに解決します。

public static System.Threading.Tasks.Task<System.Net.IPHostEntry> GetHostEntryAsync (string hostNameOrAddress, System.Net.Sockets.AddressFamily family, System.Threading.CancellationToken cancellationToken = default);
static member GetHostEntryAsync : string * System.Net.Sockets.AddressFamily * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.IPHostEntry>
Public Shared Function GetHostEntryAsync (hostNameOrAddress As String, family As AddressFamily, Optional cancellationToken As CancellationToken = Nothing) As Task(Of IPHostEntry)

パラメーター

hostNameOrAddress
String

解決するホスト名または IP アドレス。

family
AddressFamily

IP を取得する必要があるアドレス ファミリ。 の場合 Unspecifiedは、アドレス ファミリに関係なくすべての IP を取得します。

cancellationToken
CancellationToken

非同期操作のキャンセルが必要であることを示すために使用できるキャンセル トークン。

戻り値

非同期操作を表すタスク オブジェクト。 タスク オブジェクトの プロパティはResult、 でhostNameOrAddress指定されたホストに関するアドレス情報を含むインスタンスを返IPHostEntryします。

例外

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

注釈

このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって GetHostEntry(String, AddressFamily)スローされる例外に関するページを参照してください。

適用対象