Dns.Resolve メソッド
アセンブリ: System (system.dll 内)

<ObsoleteAttribute("Resolve is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")> _ Public Shared Function Resolve ( _ hostName As String _ ) As IPHostEntry
Dim hostName As String Dim returnValue As IPHostEntry returnValue = Dns.Resolve(hostName)
[ObsoleteAttribute("Resolve is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")] public static IPHostEntry Resolve ( string hostName )
[ObsoleteAttribute(L"Resolve is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")] public: static IPHostEntry^ Resolve ( String^ hostName )
/** @attribute ObsoleteAttribute("Resolve is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202") */ public static IPHostEntry Resolve ( String hostName )
ObsoleteAttribute("Resolve is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202") public static function Resolve ( hostName : String ) : IPHostEntry
戻り値
hostName で指定するホストについてのアドレス情報を格納する IPHostEntry インスタンス。


Resolve メソッドは、DNS サーバーでホスト名または IP アドレスと関連付けられた IP アドレスを照会します。
hostName が複数の IP アドレスと関連付けられた DNS スタイルのホスト名の場合は、そのホスト名に解決された最初の IP アドレスだけが返されます。
![]() |
---|
このメンバは、アプリケーションでネットワーク トレースを有効にしている場合にトレース情報を出力します。詳細については、「ネットワークのトレース」を参照してください。 |

Resolve メソッドを使用して、IP アドレスを IPHostEntry インスタンスに解決する例を次に示します。
Try ' Call the Resolve method passing a DNS style host name or an IP address in ' dotted-quad notation (for example, "www.contoso.com" or "207.46.131.199") to ' obtain an IPHostEntry instance that contains address information for the ' specified host. Dim hostInfo As IPHostEntry = Dns.Resolve(hostString) ' Get the IP address list that resolves to the host names contained in the Alias ' property. Dim address As IPAddress() = hostInfo.AddressList ' Get the alias names of the addresses in the IP address list. Dim [alias] As [String]() = hostInfo.Aliases Console.WriteLine(("Host name : " + hostInfo.HostName)) Console.WriteLine(ControlChars.Cr + "Aliases : ") Dim index As Integer For index = 0 To [alias].Length - 1 Console.WriteLine([alias](index)) Next index Console.WriteLine(ControlChars.Cr + "IP Address list :") For index = 0 To address.Length - 1 Console.WriteLine(address(index)) Next index Catch e As SocketException Console.WriteLine("SocketException caught!!!") Console.WriteLine(("Source : " + e.Source)) Console.WriteLine(("Message : " + e.Message)) Catch e As ArgumentNullException Console.WriteLine("ArgumentNullException caught!!!") Console.WriteLine(("Source : " + e.Source)) Console.WriteLine(("Message : " + e.Message)) Catch e As NullReferenceException Console.WriteLine("NullReferenceException caught!!!") Console.WriteLine(("Source : " + e.Source)) Console.WriteLine(("Message : " + e.Message)) Catch e As Exception Console.WriteLine("Exception caught!!!") Console.WriteLine(("Source : " + e.Source)) Console.WriteLine(("Message : " + e.Message)) End Try
try { IPHostEntry hostInfo = Dns.Resolve(hostString); // Get the IP address list that resolves to the host names contained in the // Alias property. IPAddress[] address = hostInfo.AddressList; // Get the alias names of the addresses in the IP address list. String[] alias = hostInfo.Aliases; Console.WriteLine("Host name : " + hostInfo.HostName); Console.WriteLine("\nAliases : "); for(int index=0; index < alias.Length; index++) { Console.WriteLine(alias[index]); } Console.WriteLine("\nIP Address list :"); for(int index=0; index < address.Length; index++) { Console.WriteLine(address[index]); } } catch(SocketException e) { Console.WriteLine("SocketException caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } catch(ArgumentNullException e) { Console.WriteLine("ArgumentNullException caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } catch(NullReferenceException e) { Console.WriteLine("NullReferenceException caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); } catch(Exception e) { Console.WriteLine("Exception caught!!!"); Console.WriteLine("Source : " + e.Source); Console.WriteLine("Message : " + e.Message); }
try { IPHostEntry^ hostInfo = Dns::Resolve( hostString ); // Get the IP address list that resolves to the host names contained in the // Alias property. array<IPAddress^>^address = hostInfo->AddressList; // Get the alias names of the addresses in the IP address list. array<String^>^alias = hostInfo->Aliases; Console::WriteLine( "Host name : {0}", hostInfo->HostName ); Console::WriteLine( "\nAliases : " ); for ( int index = 0; index < alias->Length; index++ ) { Console::WriteLine( alias[ index ] ); } Console::WriteLine( "\nIP Address list :" ); for ( int index = 0; index < address->Length; index++ ) { Console::WriteLine( address[ index ] ); } } catch ( SocketException^ e ) { Console::WriteLine( "SocketException caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } catch ( ArgumentNullException^ e ) { Console::WriteLine( "ArgumentNullException caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } catch ( NullReferenceException^ e ) { Console::WriteLine( "NullReferenceException caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); } catch ( Exception^ e ) { Console::WriteLine( "Exception caught!!!" ); Console::WriteLine( "Source : {0}", e->Source ); Console::WriteLine( "Message : {0}", e->Message ); }
try { IPHostEntry hostInfo = Dns.Resolve(hostString); // Get the IP address list that resolves to the host // names contained in the Alias property. IPAddress address[] = hostInfo.get_AddressList(); // Get the alias names of the addresses in the IP address list. String alias[] = hostInfo.get_Aliases(); Console.WriteLine("Host name : " + hostInfo.get_HostName()); Console.WriteLine("\nAliases : "); for (int index = 0; index < alias.length; index++) { Console.WriteLine(alias.get_Item(index)); } Console.WriteLine("\nIP Address list :"); for (int index = 0; index < address.length; index++) { Console.WriteLine(address.get_Item(index)); } } catch (SocketException e) { Console.WriteLine("SocketException caught!!!"); Console.WriteLine("Source : " + e.get_Source()); Console.WriteLine("Message : " + e.get_Message()); } catch (ArgumentNullException e) { Console.WriteLine("ArgumentNullException caught!!!"); Console.WriteLine("Source : " + e.get_Source()); Console.WriteLine("Message : " + e.get_Message()); } catch (NullReferenceException e) { Console.WriteLine("NullReferenceException caught!!!"); Console.WriteLine("Source : " + e.get_Source()); Console.WriteLine("Message : " + e.get_Message()); } catch (System.Exception e) { Console.WriteLine("Exception caught!!!"); Console.WriteLine("Source : " + e.get_Source()); Console.WriteLine("Message : " + e.get_Message()); }


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

サポート対象 : 1.0、1.1
2.0 では、互換性のために残されています (コンパイル時に警告)
.NET Compact Framework
サポート対象 : 1.0
2.0 では、互換性のために残されています (コンパイル時に警告)

dnsResolve
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/09/14 06:38 UTC 版)
「プロキシ自動設定」の記事における「dnsResolve」の解説
dnsResolve関数(および他の類似の関数)はDNSルックアップを実行するが、DNSサーバが応答しない場合、ブラウザを長時間ブロックすることがある。 Microsoft Internet Explorer 5.5以上でドメイン名によりプロキシ自動設定結果をキャッシュすることは、PAC標準の柔軟性を制限してしまう。実質的に、URLのパスに基づいてではなく、ドメイン名に基づいてプロキシを選ぶことになる。それを回避するにはレジストリを編集してプロキシ自動設定結果のキャッシュを無効にする必要がある(詳しくは発展学習のBoyne Pollardの記事を参照)。 Internet ExprolerのPAC設定を使用する.NET 2.0 Frameworkなどの他のWindowsコンポーネントとの互換性のために、isInNet関数内では、ホストのドメイン名ではなく、常にIPアドレスを用いることが推奨される。たとえば次のように書く: if (isInNet(host, dnsResolve(sampledomain), "255.255.248.0")) // .NET 2.0 は適切にプロキシを解決するだろうif (isInNet(host, sampledomain, "255.255.248.0")) // .NET 2.0 はプロキシを適切に解決できないだろう PACファイルが利用できない場合は直接接続にフェイルオーバーするのが現在の慣例である。 ネットワーク設定を切り替えた少し後(例:VPNに入るとき、あるいは出るとき)、dnsResolveがDNSキャッシュによる古い結果を返すことがある。 たとえば、Firefoxは通常20個のドメインのエントリーを60秒キャッシュしている。これは設定変数network.dnsCacheEntries およびnetwork.dnsCacheExpirationで設定できる。システムのDNSキャッシュを捨てることも役に立つ場合がある、これは例えばLinuxではsudo service dns-clean startで実行できる。
※この「dnsResolve」の解説は、「プロキシ自動設定」の解説の一部です。
「dnsResolve」を含む「プロキシ自動設定」の記事については、「プロキシ自動設定」の概要を参照ください。
- Dns.Resolveのページへのリンク