I am using ASP.NET Web Api to expose a few GET methods.
But before I return the data I need to log a couple of details to the db, of which few of them are as listed below :
Now in the controller when I used to do this I used to use the following code,
var ipAddress = Request.ServerVariables["REMOTE_ADDR"];
var userAgent = Request.UserAgent;
But here in Web API I am unable to use this.
Can anyone please help me out with this.
I figured it out,
public static LogModel GetApiLogDetails() {     var logModel = new LogModel();     logModel.TimeStamp   = DateTime.Now;     logModel.CallerIp    = HttpContext.Current.Request.UserHostAddress;     logModel.CallerAgent = HttpContext.Current.Request.UserAgent;     logModel.CalledUrl   = HttpContext.Current.Request.Url.OriginalString;     return logModel; }   with a little help from
Get Web Api consumer IP Address and HostName in ASP.NET Web API &
Get the IP address of the remote host
You should use HttpRequestMessage class, that conteins all data you need.
Read more:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With