0

例外がスローされると、ログに記録します。ただし、サーバー名または IP アドレスを取得できません。これがそれを取得する正しい方法であるかどうかはわかりません。
Log.ServerName = HttpContext.Current.Request.ServerVariables["LOCAL_ADDR"];
Log.ServerIP = HttpContext.Current.Request.ServerVariables["SERVER_NAME"];

これはうまくいかないようです。IP アドレスとして「localhost」と ::1 を返します。

4

3 に答える 3

3

あなたのコメントに基づいて、ローカルサーバー名とIPアドレスをログに記録したいようです。1 つの解決策は、 Dns.GetHostNameDns.GetHostAddressesを使用することです。

于 2013-01-19T20:41:18.807 に答える
0

IDE でローカル サーバーからテストした場合と同じように動作するようです。

于 2013-01-19T20:29:47.907 に答える
0

Web サーバーを実行しているのと同じマシンでアプリケーションのテストを行いましたか? その場合、IPV6 ループバック アドレスと localhost が変数の予想される結果です。別のマシンからリクエストを送信した場合、値は期待どおりになるはずです。

または、HTTPRequest.Url プロパティには、ホスト アプリケーションに複数のエイリアスが予想される場合に役立つ、ホストのクライアント ID が含まれます。

于 2013-01-19T20:59:13.003 に答える