部署到 AWS Elastic Beanstalk 时 ConnectionString 会发生变化

Kev*_* R. 5 c# asp.net asp.net-mvc amazon-web-services amazon-elastic-beanstalk

我面临的是什么

在我当前的项目中,我尝试将 .NET MVC 项目部署到 AWS 上的 Elastic Beanstalk。我过去通常使用 Azure,但很难追踪连接字符串的配置转换信息。

我尝试过的

发现我可以更改/操作 AppSettings,但如果不是绝对必要的话,我真的不喜欢将连接字符串移动到 appsettings 的想法。

此外,我不想在生产环境中进行 Web.Release.config 转换,因为该项目可能会发布到开发、登台和生产环境,所有环境都具有单独的连接字符串。

我也尝试过查看 ebextensions,但还没有完全指出更改任何连接字符串的方向。

我在寻找什么

有没有人有他们使用过的任何解决方案或他们可以推荐的任何资源(博客、指南等)?

太长了;博士

寻找一种方法来为部署在 AWS Elastic Beanstalk 上的 ASP.NET MVC 项目执行 ConnectionString 转换。

Sig*_*ard 1

我没有任何指南,但您可以使用以下一些步骤来实现您想要做的事情:

  1. 使用配置管理器为每个环境创建新配置
  2. 添加其他配置转换(右键单击 Web.config,然后单击“添加配置转换”)
  3. 在配置转换中设置每个环境的连接字符串转换值
  4. 创建发布配置文件(右键单击 Asp.Net Mvc 项目,然后单击发布)
  5. 将发布方法设置为“Web 部署包”
  6. 设置配置以匹配您要使用的环境,这将自动应用正确的配置转换
  7. 将包发布到某个位置,然后作为新版本上传到您的 Elastic Beanstalk
  8. 为每个环境重复创建配置和发布配置文件

请注意,连接字符串在部署包中进行参数化,实际值将出现在部署 zip 包中的parameters.xml 文件中,并且 Web.config 将仅具有替换令牌。部署包时,Elastic Beanstalk 会将参数化应用到 Web.config。