我正在開發一個Silverlight 4應用程序,我想啓用/禁用某些功能,用於測試目的本地部署的應用程序時。如何知道我的Silverlight應用程序是否在本地運行?
例如,度量收集會,當我在本地測試應用程序,以避免濫發我的「活」的度量數據庫禁用。
,我現在這樣做的方式是通過檢查主機名。舉例來說,在我的App.xaml.cs文件:
if (HtmlPage.Document.DocumentUri.Host == "localhost")
{
// Do stuff only when deployed locally
}
有沒有更好的方式來做到這一點?
爲什麼不能啓用僅在調試模式下的功能(而不是發佈)和用於測試目的,但以其他方式發行模式調試模式在本地部署? – GaussZ 2012-01-04 16:42:51
@GaussZ除了在生產服務器上部署之前,我還經常在本地測試我的Release版本。也許我是有點偏執:P 這是一個有效的建議仍然。 – Mathieu 2012-01-04 16:52:49
絕不會傷害到偏執。 ;)但我擔心除Url之外沒有內在差別,如果您使用本地IIS進行調試,它甚至可能包含計算機名作爲主機名而不是本地主機。 #if DEBUG預編譯器開關的優勢在於速度的輕微提高,具體取決於您是否運行了多少個「if」。 – GaussZ 2012-01-04 17:16:15