【问题标题】:Changing IsDevelopment() in IHostingEnvironment in ASP.NET Core在 ASP.NET Core 的 IHostingEnvironment 中更改 IsDevelopment()
【发布时间】:2019-10-11 13:43:17
【问题描述】:

我目前使用的是 ASP.NET Core 2.2。我有 4 个环境 Development - 开发机器(用VS开发) 以及三个可部署的环境 DevelopmentServerUATProduction

我想使用 Development 而不是 DevelopmentServer 以与我公司中的其他应用程序(他们使用不同的技术)保持一致并改变 Development strong> 到 本地

最终的设置是这样的:

本地 - 开发机器(在 VS 中开发) 和三个可部署的环境:

  • 发展

  • UAT

  • 生产

我唯一担心的是IHostingEnvironment 接口中有一些辅助方法,例如IsDevelopment(),它们将当前环境与"Development" 进行比较,在我的示例中这是错误的。它应该将其与"Local" 进行比较。有没有办法覆盖这种行为?我可以避免在我的代码中使用此方法,但可能存在可能依赖此方法的 3rd 方库。

【问题讨论】:

    标签: c# asp.net .net .net-core


    【解决方案1】:

    应该可以use the extension method IsEnvironment

    if (env.IsEnvironment("Local"))
    {
        // your environment specific code
    }
    

    env 在这种情况下是 IHostingEnvironment

    【讨论】:

    • 好的,但是如果有一个调用 IsDevelopment() 的第 3 方库怎么办?我知道如何检查我所处的环境。我想避免混淆使用 IsDevelopment() 方法的 3rd 方工具或 .net 核心类
    • 我认为,如果您无法控制第三方库的 Microsoft.AspNetCore.Hosting.EnvironmentNameMicrosoft.AspNetCore.Hosting.HostingEnvironmentExtensions 类,那么您就不走运了。
    猜你喜欢
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多