Windows appsettings管理和部署

时间:2015-02-24 02:09:14

标签: asp.net .net windows iis configuration

我试图合理化配置文件转换的有用性,使部署变得简单,而不是在源代码控制中保留连接字符串的安全性。目前,存在用于登台/部署服务器的发布配置文件,其具有指向正确数据库的所有配置(连接字符串)。来自使用像heroku这样的PaaS产品,我已经告诉我这是一件坏事,但是没有简单的方法来解决Windows应用程序问题。

有没有什么好方法可以将我的配置与Windows中的源代码分开?

理想情况下,我希望服务器本身能够保存配置(就像ENV上的ENV vars一样)。

目前最近的想法是使用cli-config设置SQL客户端别名,然后将所有其他数据库存储在数据库中。所以我将在连接字符串中为应用程序(MYAPP_PRODUCTION)添加别名。当然,任何没有使用数据库的应用程序都没有这个,所以也就是这样。。显然cliconfg不允许我输入安全连接信息。

我还考虑过在二级存储库中将发布配置文件设置为git子模块(因此它的配置文件是repo),但这看起来有点复杂。配置更改与源代码提交相关联? (似乎是)。

我最后的想法是配置服务,所以应用程序连接到它并获取其配置,但随后确保这需要应用程序提供各种各样的apikey(不要想要应用程序A)阅读应用程序Bs配置我们),我回到我开始的地方。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,就是使用环境变量。

Windows下的绝对痛苦,但使用IIS,您可以为应用程序池指定load user profile。这将创建一个Windows虚拟帐户,您可以使用regedit为其设置环境变量。

它不漂亮,但它可以工作,它使我们的环境配置不受源代码和构建服务器的限制。