【问题标题】:Azure Cloud Service Shared Settings FileAzure 云服务共享设置文件
【发布时间】:2014-10-31 16:59:14
【问题描述】:

我们目前有一个 asp.net 网站和 windows 服务,其中包含一个单独的配置文件,其中包含我们解决方案中每个可插入项目的自定义部分。这些文件是根据机器名称和配置的客户加载的,因此如果机器称为 machine-01,它会转到名为 machine-01 的文件夹,如果客户名称是 customer-01,它会尝试在该文件夹中查找文件客户-01.config。这对我们来说很有效,因为每台开发机器都有自己的配置文件,我们可以为客户创建一个配置文件并将其保存在 TFS 中。

然而,现在我们也希望在 Azure 云服务中为我们的大多数客户托管我们的网站,尽管一两个客户将应用程序托管在他们自己的基础设施上,即标准 Windows 服务器、IIS 等。

我们的部署过程并不理想,它涉及手动复制应用程序和手动运行 Sql 脚本。现在,我们正在远离这一点,我们开始关注 FluentMigrator,我们希望能够为我们的 Azure 和自托管应用程序版本提供一个部署包。

我很乐意尽可能多地更改/重写,但在理想情况下,我希望得到一个单一的设置文件,该文件可供网络和工作人员角色使用,其中包含所有设置未与应用程序一起部署,但在 azure 中为该服务设置,因为这些设置不会更改。同时继续为非天蓝色部署使用我们的自定义配置文件。

是否可以通过这种方式将设置文件上传到 Azure 云服务,然后在启动时为网络和辅助角色加载该文件?

正如我所说,很高兴根据需要在此处重新编写以获得最佳解决方案,因此很高兴放弃我们所拥有的支持理想解决方案的内容。非常感谢您的任何意见/建议。

【问题讨论】:

    标签: azure configuration-files azure-configuration


    【解决方案1】:

    经过一个相似的练习,您的问题实际上与配置数据的位置有关,并且设置文件的动态性不足以满足您的要求。因此,您需要查看另一种存储机制,即 SQL Db 或 Azure 表存储,它存储您的应用程序所需的所有适当配置数据,并在角色启动或网站应用程序启动时加载这些数据。顺便说一句 - 你不能优雅地让 WebRole 与网站通信,它可能但很混乱。

    我们最初考虑在网站上动态更改 web.config,但这会在 Azure 平台上引起一大堆麻烦,这看起来是可能的,但有一定的让步。 FWIW 这是我最初的 followed,但使用 ASP.NET 数据缓存并在 Application_Start 加载配置设置。

    HTH

    【讨论】:

    • 我们将所有设置移动到一个全局表中,因为它们永远不会改变,我们将在本地调试中使用我们现有的配置文件覆盖自定义配置部分的开发人员。这看起来是目前最好的方法。感谢您的意见,它有助于集中我们的思维模式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多