首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ASP.NET中记录客户端IP地址和机器名

如何在ASP.NET中记录客户端IP地址和机器名
EN

Stack Overflow用户
提问于 2014-02-03 06:02:55
回答 4查看 66.6K关注 0票数 5

我正在ASP.net中开发一个Web应用程序,它需要登录名和密码。

我想记录访问此Web应用程序的客户端的IP地址和机器名称。

我使用log4net进行日志记录。

我已经尝试过这段代码,但是在使用IIS-7而不是客户端机器名称部署这个web应用程序之后,我将在日志中获得服务器机器HostName。

Login Page Page_Load方法:

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    log4net.GlobalContext.Properties["Hostname"] = Dns.GetHostName();
}

Web.Config更改:

代码语言:javascript
复制
 <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date %property{Hostname} [%thread] %-5level %logger - %message%newline" />
 </layout>

它非常庞大的项目,所以请建议我的方式,要求最低限度的修改代码,以记录IP地址和机器名称的客户端。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-02-03 06:11:03

你试过用下面的吗?

代码语言:javascript
复制
Request.UserHostAddress

Request.UserHostName

请参阅在另一个线程上发布的以下答案

Get client's IP address and computer name?

票数 17
EN

Stack Overflow用户

发布于 2014-02-03 06:27:00

尝试使用客户端计算机名..。

代码语言:javascript
复制
string[] computer_name = System.Net.Dns.GetHostEntry(Request.ServerVariables["remote_addr"]).HostName.Split(new Char[] { '.' });
  String ecname = System.Environment.MachineName;
            txtComputerName.Text = computer_name[0].ToString();

用于客户IP地址..。

代码语言:javascript
复制
Request.ServerVariables["REMOTE_ADDR"]

也看看这个..。https://stackoverflow.com/a/19286308/3156647

票数 5
EN

Stack Overflow用户

发布于 2016-08-18 21:22:32

代码语言:javascript
复制
Dns.GetHostEntry(log.IPAddress).HostName

由于某些原因,其他答案在我的共享主机服务器上不起作用。去想想..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21520725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档