デスクトップのコンソール アプリケーションから Dns.GetHostEntry("SomeServerName") を呼び出すと、IP アドレスが問題なく解決されます。デスクトップでも実行されている ASP.NET アプリケーションで同じコードを実行すると、「不明なホスト」というメッセージとともに SocketException が発生します。
IIS / ASP.NET のインストールに問題があるように感じますが、今は再インストールを試みる時間がありません。
テストとして、machine.config 内の ASP.NET アカウントの ID を変更して、独自のネットワーク資格情報を使用しましたが、違いはありませんでした。
何か案は?
アップデート:
明確にする必要があるようです。ワークステーションで ASP.NET からのネットワーク通信に問題があります。これには、SmtpClient を使用して電子メールを送信しようとしたり、ODBC 接続を介して IBM DB2 に接続しようとしたりすることも含まれます。これらはすべて、コンソール アプリケーションで実行すると正常に機能します。根本的な原因は、コードが ASP.NET で実行されている場合、DNS 解決が失敗することのようですが、理由はわかりません。私が考えることができる唯一の違いは、セキュリティ コンテキストです。
更新 2:
Wireshark を実行した結果の一部を以下に示します。コンソール アプリケーションから呼び出しを行うと、すぐに 2 つの「標準ドメイン ネーム システム クエリ」がネットワーク経由で送信されていることがわかります。同じ呼び出しが ASP.NET アプリケーションから行われると、約 8 秒の遅延の後、3 つの「NetBIOS ネーム サービス クエリ」がネットワーク経由で送信されます。何か案は?