【问题标题】:Support for multiple environments in your windows store app在您的 Windows 商店应用程序中支持多种环境
【发布时间】:2014-08-04 10:27:03
【问题描述】:

我一直在开发一个 Windows 应用商店应用程序,我必须支持我的应用程序的多个配置参数。其中一个参数是应用正在与之通信的 URL。

例如开发环境、测试、验收和最终生产。

我目前正在考虑的一件事是,以最少的努力支持所有这些环境的最有效方法是什么。因为没有某种配置文件我们可以更改以更新这些参数,所以我想出了一些想法。我很好奇我可能没有见过的其他选项。

这是我想出的东西:

1

向应用程序添加多个配置,而不是在代码中使用它们来获取正确的参数,如下所示:

        private string webserviceUrl;
#if DEV
        webserviceUrl = "devUrl";
#elif TEST
        webserviceUrl = "testUrl";
#endif

2

使用第 1 种方法,还有更多可用选项,例如基于配置的配置 xml 文件,或在应用第一次运行时从 Web 服务获取配置设置。

3

使用分支/合并策略并更新分支中的配置文件。优点是代码是干净的,并且只包含创建它的构建所需的设置。并且包可以由构建服务器构建。缺点是需要大量分支/合并。

最后一个选项感觉是最“干净”的解决方案。我是否遗漏了任何选项,或者您是否有使用这些方法的经验?你更喜欢什么?

【问题讨论】:

    标签: windows-8 windows-store-apps windows-8.1


    【解决方案1】:

    我认为假设是商店中的应用将始终指向生产。

    但是,话说回来,我面临着同样的问题,因为我们将应用程序侧加载到我们控制的设备上,而根本不使用 Windows 应用商店。

    要回答您的问题,我更喜欢选项 1。
    不过,选项 2 和 xml/json 配置文件似乎是最好的选择。
    网络服务选项可能不起作用。您使用什么网络服务 URL?如果您希望某些实例指向不同的环境,它将如何工作,因为它们都将从同一个 URL 获取配置。

    您可能要考虑的另一个选项是设置魅力菜单中的选项。例如,为环境使用单选按钮,并允许用户配置他们想要定位的环境。

    问题在于将其锁定在最终用户的生产环境中,使其不再可修改。也许一旦选择了“PROD”单选,所有单选按钮就会被隐藏。

    如果您通过侧面加载部署应用程序,那么这些设置可能会在安装过程中进行配置。

    我也很想听听其他意见。这也是一个老问题,所以我想知道您决定实施什么解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多