代码之家  ›  专栏  ›  技术社区  ›  dinotom

在Asp。net Core 2.0是IHostingEnvironment可扩展的

  •  2
  • dinotom  · 技术社区  · 8 年前

    目前,Asp。Net core 2 IHostingEnvironment有三个布尔属性

    • I生产
    • IsStaging公司
    • ISD开发

    如果我想创建两个附加属性,它是可扩展的吗?(例如IsTesting、IsCloudDb)

    因为我不是一个专业的程序员,我不知道如果可行的话该怎么做。

    1 回复  |  直到 8 年前
        1
  •  4
  •   Evk    8 年前

    这些不是属性,而是 IHostingEnvironment 界面所有这些扩展方法都是比较的 IHostingEnvironment.EnvironmentName 使用预定义字符串。您也可以这样做:

    public static class EnvironmentExtensions {
        const string CloudDbEnvironment = "CloudDb";
        const string TestingEnvironment = "Testing";
    
        public static bool IsCloudDb(this IHostingEnvironment env) {
            return env.IsEnvironment(CloudDbEnvironment);
        }
    
        public static bool IsTesting(this IHostingEnvironment env) {
            return env.IsEnvironment(TestingEnvironment);
        }
    }
    

    当然你应该设置 EnvironmentName 这些方法的相关字符串返回true。