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:
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?.
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 &
Vous devez utiliser la classe HttpRequestMessage
, qui contient toutes les données dont vous avez besoin.
Lire la suite: