我捕獲了一些訪問我網站特定部分的用戶的信息,並且出現奇怪的錯誤。我有一段代碼執行以下操作。HttpRequestBase.UserHostAddress拋出錯誤
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 – 2012-02-07 16:13:35
我發佈之前,我讀了一個。這不適用於此。我沒有將合同設置爲OneWay。 – Mitch 2012-02-07 16:45:28
你可以嘗試'System.Web.HttpContext.Current.Request.UserHostAddress' - 只是爲了防止HttpRequestBase不會像HttpRequest – 2012-02-07 18:27:30