Dns.GetHostAddresses
ホスト名を解決するための小さなテスト プログラムを作成しました。存在しないホスト名を入力するSocketException
と、 がスローされ、メッセージはNo such host is known
.
エラー メッセージが UI に表示するのに十分小さいので、私はこれが気に入りました。
今、私は文字通りコードをコピーしてやや大きなプロジェクトに貼り付けましたが、今回はテストプロジェクトで行ったのとまったく同じホスト名を入力すると、スローSocketException
されますが、メッセージはに設定されていますThe requested name is valid, but no data of the requested type was found
どちらのスタック トレースも各プログラムで同じですが、最初のエラーはWSAHOST_NOT_FOUND
2 番目のエラーの場所ですWSANO_DATA
。
独自のエラー メッセージを出力することもできますが、毎回異なるエラーがスローされる理由を知りたいですか? コードに違いはありません。
また、各プログラムを何度実行しても、同じエラー メッセージが出力され続けるようです。交互でも何でもない。
================================================== =========================
さて、私は何が問題を引き起こしているのかを理解しました。
私はPcap.Netを参照として追加し、それを私のプロジェクトに含めていましたが、それusing PcapDotNet.Core;
をコメントアウトした後Dns.GetHostAddresses
、正しい例外をスローしていました。
なぜそのように振る舞うか、そしてそれを回避する方法を誰かが教えてくれたら、それは素晴らしいことです.