首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blazor和appsettings.Testing.json

Blazor和appsettings.Testing.json
EN

Stack Overflow用户
提问于 2020-03-28 04:17:37
回答 2查看 871关注 0票数 2

我希望能够使用appsettings.json、appsettings.Testing.json为我的blazor应用程序检索适当的连接字符串。在测试服务器上,我将系统变量"ASPNETCORE_ENVIRONMENT“设置为" testing”,并且我有带连接字符串的appsettings.Testing.json。由于某些原因,当通过浏览器访问应用程序时,连接字符串是从appsettings.json而不是appsettings.Testing.json检索的。

如果我在本地环境中更改/覆盖来自launchSettings.json的环境变量,并从IIS express启动应用程序,它会选取正确的连接字符串。在startup.cs中有什么需要我做的吗?

这是我的Startup.cs

代码语言:javascript
复制
public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

这是我的appsettings.Testing.json:

代码语言:javascript
复制
{
  "_comment": "Environment settings for testing environment",
  "ConnectionStrings": {
    "DBConnectionString": "Server=TEST-SERVER102;Database=Customers;Trusted_Connection=True;"
  }
}

更新:如果使用以下代码记录当前环境:

代码语言:javascript
复制
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            Debug.WriteLine("[Current Environment]" + env.EnvironmentName);

我看到下面的日志语句: EnvironmentProduction

我在microsoft文档中看到,如果未设置环境,则默认为生产环境。我确实通过系统变量将环境设置为“测试”。我遗漏了什么?

EN

回答 2

Stack Overflow用户

发布于 2020-03-28 06:28:27

是否在设置全局环境变量后重启控制台(除非在当前终端会话中设置)?

确保您遵循了与您的操作系统相关的ASP.NET核心文档中提到的规则:Set the environment

票数 0
EN

Stack Overflow用户

发布于 2020-03-29 01:06:45

事实证明,在我的测试服务器上,应用程序托管在IIS10中的自己的应用程序池中,我必须通过appcmd.exe设置环境变量ASPNETCORE_ENVIRONMENT。

appcmd.exe设置配置值=‘bar’“/commit:apphost

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60893562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档