在Asp.net中,Core 2.0是IHostingEnvironment可扩展的

时间:2017-12-05 12:05:58

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

目前,Asp.Net核心2 IHostingEnvironment有三个布尔属性

  • IsProduction
  • IsStaging
  • IsDevelopment

如果我想创建另外两个属性,它是否可以扩展? (例如IsTesting,IsCloudDb)

由于我不是一名专业程序员,因此我不确定如何解决这个问题。

1 个答案:

答案 0 :(得分:4)

这些不是属性,而是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。