私のウェブサイトの特定のセクションにアクセスし、奇妙なエラーが発生しているユーザーに関する情報の一部を取得しています。私は次のことを行うコードセクションを持っています。HttpRequestBase.UserHostAddress throwing error
string userIp = request.UserHostAddress;
要求変数はHttpRequestBaseです。時にはこれはうまく動作し、私はIPを取得する - それは私が保護する方法についてはわからないエラーをスローする他の回。これは私のエラーログからのものです。
"値が予想される範囲内に収まっていない。System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(のInt32 errorCodeを、のIntPtrのerrorInfo) でSystem.Web.Hosting.IIS7WorkerRequest.GetServerVariableInternalで(文字列名)"
最初にページに移動するとうまくいきますが、リフレッシュするとエラーがスローされたり、同じ変数をキャプチャする別のページにすばやく移動したりするようです。
これが役立つかどうかを確認してください。http://stackoverflow.com/questions/650357/httprequest-servervariables-throws-argumentexception-in-wcf-with-iis7 –
投稿前にその記事を読んでいます。それはここでは当てはまりません。私はOneWayに契約を設定していません。 – Mitch
「System.Web.HttpContext.Current.Request.UserHostAddress」を試すことができますか?HttpRequestBaseがHttpRequestと同じ手順を実行しない場合に備えて、 –