Я занимаюсь поиском некоторой информации о пользователях, которые посещают определенный раздел моего сайта, и я получаю странную ошибку. У меня есть раздел кода, который делает следующее.HttpRequestBase.UserHostAddress throwing error
string userIp = request.UserHostAddress;
Переменная запроса - это HttpRequestBase. Время от времени это работает очень хорошо, и я получаю IP - в других случаях он вызывает ошибку, и я не уверен, как ее защищать. Это из моего журнала ошибок.
"Значение не попадает в ожидаемый диапазон. В System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal (Int32 ERRORCODE, IntPtr errorInfo) в System.Web.Hosting.IIS7WorkerRequest.GetServerVariableInternal (имя String)"
Кажется, что в первый раз, когда я перехожу на страницу, он работает отлично, ошибка возникает, если я обновляюсь, или быстро перейдите на другую страницу, которая захватывает одну и ту же переменную.
Посмотрите, поможет ли это вам: http://stackoverflow.com/questions/650357/httprequest-servervariables-throws-argumentexception-in-wcf-with-iis7 –
Я прочитал это до того, как я опубликовал. Это не применимо здесь. Я не устанавливаю контракт на OneWay. – Mitch
вы можете попробовать «System.Web.HttpContext.Current.Request.UserHostAddress» - на всякий случай, если HttpRequestBase не выполняет те же шаги, что и HttpRequest –