仅在生产环境中运行代码

时间:2013-08-22 07:48:39

标签: c# asp.net iis production-environment

我正在开发一个ASP.NET应用程序。

我的代码中有这样的一行:

message.CC.Add("ALL@mycompany.com");

在处理开发环境时,我希望不会执行此行,到目前为止,我的解决方案是在发布之前将其注释掉。

ASP.NET中是否有内置的自定义生产标记?

类似的东西:

if (productionFlag)
    message.CC.Add("ALL@mycompany.com");

2 个答案:

答案 0 :(得分:1)

也许足以让你使用:

if (Debugger.IsAttached)
{
    // we are not in production..
}

但也许不是。我现在还不知道另一种技术。另一方面,我认为如果你使用这样的东西:

<appSettings>
    <add key="IsProduction" value="Y"/>
</appSettings>
配置文件中的

可能存在风险,因为我可以随时更改它。

我希望这有帮助!

答案 1 :(得分:0)

没有内置标志,但您可以自己制作。

我建议您使用Web配置文件来配置生产或测试部署的应用程序

的Web.config:

<appSettings>
    <add key="IsProduction" value="Y"/>
</appSettings>

代码背后:

bool isProduction = System.Configuration.ConfigurationManager.AppSettings["IsProduction"];