J'ai construit un service ASMX et dans le code qui traite un journal d'erreur qui vient de ELMAH. J'ajoute dans la base de données tous les champs et j'ajoute un peu plus, on est l'adresse IP du client demandé ...Obtenir l'adresse IP du client demandé (message de savon)
Mais je ne peux pas (s'il vous plaît lire, je ne sais pas comment) obtenir cela. ..
Je suis habitué à
string ipAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (ipAddress == "") ipAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
mais bien sûr ici, il ne s'applique pas parce que ce n'est pas une demande de HTML, mais une requête SOAP
en-tête ALL_HTTP Je reçois toutes ces informations:
HTTP_CONNECTION:Keep-Alive
HTTP_CONTENT_LENGTH:440331
HTTP_CONTENT_TYPE:text/xml; charset=utf-8
HTTP_EXPECT:100-continue
HTTP_HOST:www.mydomainname.com
HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.3074)
HTTP_VSDEBUGGERCAUSALITYDATA:uIDPowJ7s0UYlmhEqcDjxYQT/TQAAAAADlaOOkJ5DUizA7gKLg3YEPur8pFWlaVFmpinSAOBTuIACQAA
HTTP_SOAPACTION:"http://www. mydomainname.com/webservices/ErrorReportService/ReportErrors"
Où et comment puis-je obtenir l'adresse IP demandée?
Notez que je ne suis pas d'utiliser tout type d'authentification (encore) ... :)
Dans ces circonstances, votre seule sortie réaliste consiste à faire en sorte que le proxy transfère l'adresse IP réelle sur un en-tête personnalisé convenu. Tout dépend si vous avez le contrôle de cela. – annakata
si j'utilise cela, je reçois une adresse IP à partir de 67 et mon IP actuel commence par 87, l'IP hôte commence par 62 ... Je veux obtenir le 87 :-( – balexandre