【发布时间】:2017-12-29 03:26:06
【问题描述】:
我想支持的不仅仅是Microsoft.AspNetCore.Hosting.EnvironmentName 中定义的内置“开发”、“暂存”和“生产”环境。我意识到在程序初始化期间设置环境时,我可以随意发明任何我想要的名称,但这不是问题。 Microsoft.AspNetCore.Hosting.HostingEnvironmentExtensions 中定义了 3 种扩展方法,似乎无处不在:IsDevelopment()、IsStaging() 和 IsProduction()。
您如何自定义IsDevelopment() 的行为,以便多个自定义环境名称均返回true?
比如我想区分本地开发和远程开发; 2 个具有自己配置设置的环境,但都被视为“开发”。另一个例子可能是多个“暂存”环境;一种用于内部测试,一种用于外部/客户端测试,但两者都被视为“暂存”。
我不相信我可以编写自己的 IsDevelopment() 扩展方法并安全地确保我的方法总是比微软的 (Closer is better) 更受青睐。例如。我的可能会被我项目中的代码使用,但是当 Mvc 本身的代码调用它时呢?
【问题讨论】:
标签: asp.net-core-2.0