web-dev-qa-db-fra.com

Comment obtenir IpAddress et UserAgent dans l'API Web ASP.NET obtenir des méthodes

J'utilise ASP.NET Web Api pour exposer quelques méthodes GET.

Mais avant de retourner les données, je dois enregistrer quelques détails dans la base de données, dont quelques-uns sont énumérés ci-dessous:

  • IP de l'appelant
  • Agent utilisateur de l'appelant
  • URL utilisée par l'appelant

Maintenant, dans le contrôleur, lorsque je faisais cela, j'utilisais le code suivant,

var ipAddress = Request.ServerVariables["REMOTE_ADDR"];
var userAgent = Request.UserAgent;

Mais ici, dans l'API Web, je ne peux pas l'utiliser.

Quelqu'un peut-il m'aider avec cela?.

22
Yasser

Je l'ai compris,

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;
}

avec un peu d'aide de

Obtenez l'adresse IP du consommateur Web Api et le nom d'hôte dans l'API Web ASP.NET &

Obtenez l'adresse IP de l'hôte distant

21
Yasser

Vous devez utiliser la classe HttpRequestMessage, qui contient toutes les données dont vous avez besoin.

Lire la suite:

4
YD1m