Azure云服务共享设置文件

时间:2014-09-07 07:03:42

标签: azure configuration-files azure-configuration

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

然而,现在我们还希望在大多数客户的Azure云服务中托管我们的网站,尽管有一个或两个在自己的基础架构上托管应用程序,这是标准的Windows服务器,IIS等。

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

我很乐意尽可能地更改/重写,但在理想的世界中,我希望达到一个单一设置文件的位置,该文​​件可用于包含所有设置的Web和辅助角色。未与应用程序一起部署,但在该服务的azure中设置,因为这些设置不会更改。同时继续进行非天蓝色部署以使用我们的自定义配置文件。

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

正如我所说,很高兴尽可能多地重写这里以获得最佳解决方案,因此很乐意抛弃我们所支持的理想解决方案。非常感谢任何意见/建议。

1 个答案:

答案 0 :(得分:0)

经历了一次不同的练习,您的问题实际上与配置数据的位置有关,而且设置文件不够动态,无法满足您的要求。因此,您需要查看另一种存储机制,即SQL Db或Azure表存储,它存储应用程序所需的所有相应配置数据,并在角色启动或网站应用程序启动时加载它。顺便说一句 - 你不能优雅地让WebRole与WebSite进行通信,这可能是凌乱的。

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

HTH