Я создал службу ASMX и код, который обрабатывает журнал ошибок, поступающий от ELMAH.
Я добавляю в базу данных все поля и добавляю еще несколько, одним является IP-адрес запрашиваемого клиента ...
Но я не могу (пожалуйста, прочитайте, не знаю как) получить это ...
Я привык к
string ipAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (ipAddress == "") ipAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
Но, конечно, здесь это не применимо, потому что это не запрос HTML, а запрос SOAP
в заголовке ALL_HTTP я получаю всю эту информацию:
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-адрес?
Обратите внимание, что я не использую никакой аутентификации (пока) ...:)