0
我找不到沒有aspx頁面的IP地址(所以在Linux服務器上)。如果它可以通過wcf工作,那麼它也很好。獲取IP地址(當沒有ASP.NET可用(在Linux服務器上))
我找不到沒有aspx頁面的IP地址(所以在Linux服務器上)。如果它可以通過wcf工作,那麼它也很好。獲取IP地址(當沒有ASP.NET可用(在Linux服務器上))
我認爲最好的選擇是讓Web服務將IP地址返回給Silverlight客戶端,前提是您可以在應用程序中使用WCF。我不相信直接在Silverlight中獲取客戶端IP的直接方式。
就這樣一個簡單的Web方法應該工作:
[OperationContract]
public string GetClientIpAddress()
{
return HttpContext.Current.Request.UserHostAddress;
}
您可能無法如果請求是通過代理服務器來獲得實際的客戶機IP地址,但你可以檢查HTTP_X_FORWARDED_FOR頭以及如果可用的話。
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
我不會依賴,作爲一個可靠的客戶端IP地址,雖然,因爲不是所有的代理服務器遵守這一HTTP頭,它也很容易被欺騙。
您可以請擴展您正在嘗試完成的任務嗎?我不確定你想要做什麼。什麼IP地址?在客戶端或服務器上的那個? – 2009-12-30 15:00:12
我的錯誤,我的意思是客戶端IP地址。 我嘗試使用WebClient的一個小的API http://www.hostip.info給出地址的位置,但不是IP。 http://www.whatismyip.com/automation/n09230945.asp(甚至http://www.google.com/)在WebClient的DownloadStringCompleted中給出SecurityException:安全錯誤。我找不到原因。 – user240617 2009-12-31 06:28:16