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

din*_*tom 3 c# asp.net-core-2.0

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

  • 是生产
  • 正在分期
  • 是发展

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

由于我不是专业程序员,我不确定如果可行的话该怎么做。

Evk*_*Evk 5

这些不是属性,而是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);
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,您应该设置EnvironmentName相关字符串以使这些方法返回 true。