나는 ASMA 서비스를 구축했으며 ELMAH에서 오는 오류 로그를 처리하는 코드에 작성했습니다. 데이터베이스에 모든 필드를 추가하고 좀 더 추가하면 하나는 요청한 클라이언트의 IP 주소입니다. ...요청한 클라이언트의 IP 주소 얻기 (SOAP 메시지)
그러나 나는 (읽을 수는 있습니다. ..
나는
string ipAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (ipAddress == "") ipAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
사용 해요하지만 내가 모든 정보를 얻을 수있는 HTML 요청하지만 ALL_HTTP 헤더 SOAP 요청
아니기 때문에 오프 물론 여기에는 적용되지 않습니다
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"
요청한 IP는 어디에서 어떻게 구할 수 있습니까? 나는 (아직) 인증의 어떤 종류를 사용하지 않는
주 ... :
이러한 상황에서 유일하게 현실적인 것은 프록시가 동의 한 사용자 정의 헤더에 실제 IP를 전달하는 것입니다. 당신이 통제 할 수 있다면 모든 것이 달려 있습니다. – annakata
내가 이것을 사용하면 67에서 시작하는 IP 주소를 얻고 현재의 IP는 87로 시작하고 호스트 IP는 62로 시작합니다 ... 87 :-( – balexandre