gpt4 book ai didi

visual-studio - .Net Core 是否支持每个环境的用户 secret ?

转载 作者:行者123 更新时间:2023-12-03 14:23:20 26 4
gpt4 key购买 nike

假设我有在 appsettings.Development.json 中指定的开发环境的连接字符串和 appsettings.Staging.json 中指定的登台环境的连接字符串

在开发和暂存之间切换我需要做的就是导航到项目属性中的 Visual Studio 调试选项卡并更改 ASPNETCORE_ENVIRONMENT 的值。环境变量。

现在,我当然不想在 appsettings.*.json 中有连接字符串。出于安全原因。所以我把它移到了 User Secrets。

问题是 - 似乎只有一个 secrets.json所有环境都使用的文件。没有secrets.Development.jsonsecrets.Staging.json .这意味着在我通过 Visual Studio Debug 选项卡从 Development 切换到 Staging 环境后,我还需要在 secrets.json 中手动更改连接字符串这违背了为环境提供内置支持的目的。

在每个环境的基础上不支持用户 secret 是否正确?如果是这样 - 是否有另一种方法可以避免在切换环境时手动修改 Secret 连接字符串?

最佳答案

如果您使用 dotnet user-secrets --help 检查工具的参数你会看到你可以为每个配置(调试、发布、任何其他你想要的)指定不同的 secret ,但不是每个环境。如果你仔细想想,这不是一个糟糕的决定。
ASPNETCORE_ENVIRONMENT环境变量旨在告诉您的应用程序当前机器或容器是开发、生产还是其他环境,因此它可以选择适当的设置文件。预计此环境变量不会从一个应用程序执行更改为下一个。即使在使用容器时,环境变量也会从主机传递到容器,并且在容器的生命周期内不会发生变化。
secrets出于开发目的,文件应该是每台机器的,因此无需为每个环境保留单独的文件。使用单独的文件进行配置更有意义,允许开发人员简单地从 Dev 更改为 Release 或 Testing 或他们可能拥有的任何其他自定义配置。

关于visual-studio - .Net Core 是否支持每个环境的用户 secret ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60437357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com