我正在开发一个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