Comment puis-je obtenir de l'appelant (adresse IP dans un WebMethod?
Comment puis-je obtenir de l'appelant (adresse IP dans un WebMethod?
[WebMethod]
public void Foo()
{
//HttpRequest... ? - Not giving me any options through intellisense...
}
à l'aide de C# et ASP.NET
Vous devez vous connecter pour publier un commentaire.
HttpContext.Actuel.Demande.UserHostAddress est ce que vous voulez.
Juste une précaution. Les adresses IP ne peut pas être utilisée pour identifier les clients. Pare-feu NAT et de l'entreprise procurations sont partout, et de cacher de nombreux utilisateurs derrière une seule adresse IP.
Essayer:
Essayez ceci:
N'ai pas essayé dans un webMethod, mais je l'utilise en standard HttpRequests
La HttpContext est effectivement disponible à l'intérieur de la
WebService
de la classe de base, donc il suffit d'utiliserContext.Request
(ouHttpContext.Current
qui souligne également le contexte actuel) pour obtenir l'accès aux membres fournis par leHttpRequest
.J'ai fait la fonction suivante:
Ce travail uniquement en Intranet, si vous avez un Proxy ou natting vous devriez étudier si l'IP d'origine est déplacé ailleurs dans le paquet http.