【问题标题】:Logging Server Name & Server IP记录服务器名称和服务器 IP
【发布时间】:2013-01-03 07:38:06
【问题描述】:

当抛出异常时,我们会记录它。但是,我们无法检索服务器名称或 IP 地址。不确定这是否是检索它的正确方法。
Log.ServerName = HttpContext.Current.Request.ServerVariables["LOCAL_ADDR"];
Log.ServerIP = HttpContext.Current.Request.ServerVariables["SERVER_NAME"];

这似乎不起作用。它返回 'localhost' 和 ::1 作为 IP 地址。

【问题讨论】:

  • 你认为它应该是什么?
  • 我们尝试使用 ELMAH,它会返回机器名称和 IP 地址。开发框是远程服务器
  • 你想要调用者的IP地址还是你的服务器的IP地址?如果你想要你的服务器的IP地址,你不能只使用System.Net.Dns.GetHostName()System.Net.Dns.GetHostAddresses()吗?
  • 我可以尝试使用 Dns.GetHostName()
  • 上下文是什么? ASP.NET 或其他类似 WCF 的东西?

标签: c# asp.net exception logging


【解决方案1】:

如果您从 IDE 中的本地服务器对其进行测试,它似乎可以正常工作。

【讨论】:

    【解决方案2】:

    根据您的评论,您似乎想要记录本地服务器名称和 IP 地址。一种解决方案是使用Dns.GetHostNameDns.GetHostAddresses

    【讨论】:

      【解决方案3】:

      您是否在运行 Web 服务器的同一台机器上测试了应用程序?如果是这样,那么 IPV6 环回地址和 localhost 是变量的预期结果。如果您从另一台机器发送请求,那么值应该是您所期望的。

      或者,HTTPRequest.Url 属性将包含主机的客户端身份,如果您预计主机应用程序有多个别名,这可能会更有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-21
        • 2020-11-03
        • 1970-01-01
        • 1970-01-01
        • 2022-01-26
        • 2017-03-02
        • 2013-03-27
        • 2013-05-23
        相关资源
        最近更新 更多