我正在开发Silverlight 4应用程序,我想在出于测试目的在本地部署该应用程序时启用/禁用某些功能。
例如,当我在本地测试应用程序时,将禁用指标收集,以避免向数据库发送“实时”指标的垃圾邮件。
我当前执行此操作的方式是通过检查主机名。例如,在我的App.xaml.cs文件中:
if (HtmlPage.Document.DocumentUri.Host == "localhost")
{
// Do stuff only when deployed locally
}
有一个更好的方法吗?
最佳答案
我创建两个html页面来测试我的代码,例如mysilverlightpage.html和myslpage.notracking.html。然后在myslpage.notracking.html的对象嵌入标记中,添加一个initparam:
<param name="InitParams" value="noTracking=true" />
然后在我的代码中,检查一下我的InitParams参数:
if (!App.Current.Host.InitParams.ContainsKey("noTracking") || bool.Parse(App.Current.Host.InitParams["noTracking"]) == false)
{
// perform tracking here
}
现在可以检查发行版的功能,而不会使您的跟踪指标无效。