我有一個使用3.5框架的Web應用程序。我想知道如何檢測網頁主機正在呈現網頁。檢測虛擬主機服務器
如果服務器是本地主機,然後發送電子郵件通知[email protected] 如果服務器是QA,然後發送電子郵件至[email protected]
感謝
我有一個使用3.5框架的Web應用程序。我想知道如何檢測網頁主機正在呈現網頁。檢測虛擬主機服務器
如果服務器是本地主機,然後發送電子郵件通知[email protected] 如果服務器是QA,然後發送電子郵件至[email protected]
感謝
假設你的意思是做這個檢測服務器端,那麼老式的ServerVariables怎麼樣?
string serverName = Request.ServerVariables["SERVER_NAME"];
string httpHost = Request.ServerVariables["HTTP_HOST"];
服務器變量的完整列表在這裏:http://www.aspcode.net/List-of-RequestServerVariables.aspx
最接近您可能將你想要得到什麼是機器名稱:
System.Environment.MachineName
本地主機是一個地址,並且每臺機器可以通過它訪問本身(假設有人卻沒有猴子hosts文件)。
您可以訪問該頁面的URL:Request.Url.AbsoluteUri
。這將告訴你他們試圖擊中什麼樣的環境(除非他們使用本地主機訪問站點)。
如果服務器是本地主機,然後發送 電子郵件通知[email protected]如果 服務器QA,然後發送電子郵件至 [email protected]
如果你有機會到機器配置,更簡單的方法可能是將電子郵件地址放在您想要發送電子郵件到appsettings的地方。這樣你就可以根據環境來改變它,而不用擔心他們試圖擊中什麼機器/ url。
的System.Web.HttpRequest類有一個IsLocal屬性,告訴你正是這一點。它比使用服務器變量更健壯一些,因爲它檢查諸如「127.0.0.1」之類的東西。
有趣的漁獲。我會仔細看看的。謝謝喬希! – user279521 2011-03-08 00:43:04
在machine.config中我會添加電子郵件地址? – user279521 2010-04-29 11:48:22
您可以將其放入appsettings部分並按名稱訪問該密鑰。 – kemiller2002 2010-04-29 11:55:00