背景:
我有一个ASP.NET Web应用程序,用于与AD FS联合。我正在使用VS 2012,并且有TFS用于源代码控制,构建和部署。
我们目前正在通过将构建服务器(TFS)中的构建文件复制到alpha环境来进行部署。从那里我们将从alpha复制到beta,然后从beta复制到生产。因此,每个环境都没有唯一的构建。我们现在处理特定于环境的设置的方式是有一个配置文件,其中包含每个环境的所有设置。让我们调用此EnvironmentSpecificSettings.config(我将在下面引用它)。每个服务器上都有一个静态文件,指示服务器应该在哪个环境中,因此当读入该配置文件时,可以应用匹配的设置。
问题:
ADFS配置在web.config中处理。有一些特定于环境的东西。我如何在当前的部署范例中处理这个问题?我有几个想法:
第一个想法(#1)不是最优的,因为它需要在源代码控制之外和部署之外的文件,但它应该足够容易。接下来,#2我认为是不可能的。我不确定你是否可以像我希望的那样改变你的web.config,但也许?最后,#3是合理的,因为我处于特殊情况,我没有进行常规的被动身份验证,而是我手动重定向到adfs,所以我有机会更改设置,例如注入whr参数以避免HRD。因此,我可能无法确定您是否可以动态更改其中的某些值,例如指纹或wsFederation发行商或领域。
在没有使用变换的visual studio Web部署的情况下,是否有人在处理特定于环境的设置方面有任何更好的想法或经验?