我正在asp.net中开发一个web应用程序,它需要登录名和密码。
我要记录正在访问此Web应用程序的客户端的IP地址和计算机名。
我正在使用log4net进行日志记录。
我已经尝试了这段代码,但是在使用IIS-7而不是客户机名称部署此Web应用程序之后,我正在日志中获取服务器计算机主机名。
Login Page Page_Load方法:

protected void Page_Load(object sender, EventArgs e)
{
    log4net.GlobalContext.Properties["Hostname"] = Dns.GetHostName();
}

web.config更改:
 <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date %property{Hostname} [%thread] %-5level %logger - %message%newline" />
 </layout>

这是一个非常庞大的项目,所以请建议我在记录客户机的IP地址和机器名时,最少需要修改代码的方法。

最佳答案

你试过用下面的吗?

Request.UserHostAddress

Request.UserHostName

请参阅另一个帖子中的以下答案
Get client's IP address and computer name?

10-01 19:34
查看更多