5

I am developing a Web Application in ASP.net, which requires login name and password.

I want to log IP Address and Machine Name of client, who are accessing this Web Application.

I am using log4net for logging.

I have tried this piece of code, but I am getting Server Machine HostName in log after deploying this web application using IIS-7 instead of Client Machine Name.

Login Page Page_Load Method:

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

Web.Config Changes:

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

Its really huge project, So Please suggest me the way which requires minimum changes in Code to log the IP Address and Machine Name of Client.

1

4 Answers 4

17

Did you try using following?

Request.UserHostAddress Request.UserHostName 

Refer to following answer posted on a different thread

Get client's IP address and computer name?

Sign up to request clarification or add additional context in comments.

Comments

5

Try For Client Computer name..

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(); 

For Client IP address..

Request.ServerVariables["REMOTE_ADDR"] 

Check this also... https://stackoverflow.com/a/19286308/3156647

Comments

0
Dns.GetHostEntry(log.IPAddress).HostName 

For some reason the other answers didn't work on my shared hosting server. Go figure...

Comments

0

For Client IP:

System.Web.HttpContext.Current.Request.ServerVariables["**REMOTE_ADDR**"]; 

For Client Hostname:

System.Net.Dns.GetHostEntry(Request.ServerVariables["**REMOTE_HOST**"]).HostName; 

1 Comment

Ensure that the server on which this application is hosted must have correct entry for the DNS Servers in TCP/IP configuration.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.