gpt4 book ai didi

asp.net-mvc - #if DEBUG 在生产服务器上返回 true

转载 作者:行者123 更新时间:2023-12-01 11:31:42 25 4
gpt4 key购买 nike

我们在 MVC web 应用程序的 Global.asax 上有以下代码

    protected void Application_BeginRequest()
{
#if DEBUG
if (!string.IsNullOrEmpty(HttpContext.Current.Request["debug"]))
{
RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
}
#endif
}

生产服务器的 web.config 中的“compilation debug”属性设置为“false”。所以预期的行为是上面的代码永远不会被执行。它大部分时间都有效,但突然之间应用程序开始执行此代码。它将继续这样做,直到我重置 IIS。我似乎无法弄清楚为什么我们的网站突然自动进入 Debug模式。有什么想法吗?

最佳答案

#if DEBUG 行是编译器指令,只有在 DEBUG 常量已在代码中手动定义或在构建中指定(在项目属性中设置)时才能调用。

debug="true" 的 web.config 编译值是完全不同的东西。要确定是否已设置,您可以改用它:

var compilation = (CompilationSection)ConfigurationManager
.GetSection("system.web/compilation");

if (compilation.Debug)
{
//Debug is on!
}

关于asp.net-mvc - #if DEBUG 在生产服务器上返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31565047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com