2013-01-19 78 views
0

當拋出異常時,我們將其記錄下來。但是,我們無法檢索服務器名稱或I.P地址。不知道這是否是檢索它的正確方法。
Log.ServerName = HttpContext.Current.Request.ServerVariables["LOCAL_ADDR"];
Log.ServerIP = HttpContext.Current.Request.ServerVariables["SERVER_NAME"];記錄服務器名稱和服務器IP

這似乎並沒有工作。它返回'localhost'和:: 1作爲I.P地址。

+0

你認爲它應該是什麼? – Kamarey

+0

我們嘗試使用ELMAH,它會返回機器的名稱和I.P地址。開發盒是一個遠程服務器 – user1106741

+1

你想要調用者的IP地址還是你的服務器?如果你想要你的服務器的IP地址,你不能只使用'System.Net.Dns.GetHostName()'和'System.Net.Dns.GetHostAddresses()'? –

回答

0

似乎它的工作原理就像它應該從IDE中的本地服務器進行測試一樣。

0

您是否在運行Web服務器的同一臺機器上測試了應用程序?如果是這樣,則IPV6回送地址和本地主機是變量的預期結果。如果你從另一臺機器發送請求,那麼值應該是你所期望的。

或者,HTTPRequest.Url屬性將包含主機的客戶端身份,如果您預計主機應用程序有多個別名,則該身份可能更有用。