代码之家  ›  专栏  ›  技术社区  ›  Andrew Bullock

<compilation debug=“xxx in web config,它影响哪些场景?

  •  1
  • Andrew Bullock  · 技术社区  · 15 年前

    如果我已经在发布模式下构建了应用程序,并预编译了ASPX,那么该怎么做呢?

    <compilation debug="true" />
    

    在web.config中执行?

    对于生产代码,是否仍需要将此设置为false?

    在什么情况下会有影响?

    谢谢

    3 回复  |  直到 15 年前
        1
  •  3
  •   PhilPursglove    15 年前

    this blog post from ScottGu 它涵盖了调试开关的复杂性,并包括一些关于预编译站点的讨论。

        2
  •  2
  •   JoeBilly    15 年前

    当然!如果不需要调试,则不要使用 <compilation debug="true" /> .

    它影响ASP.NET资源(aspx,global.asax…)编译模式,以及框架将如何为应用程序生成临时ASP.NET文件。

    简而言之,什么时候 调试 设置为 ,框架将编译 每一页分成一个单独的程序集 -加上编译符号等… 它还意味着每个页面都有一个程序集访问,并且性能行为…

    什么时候? 调试 ,所有 页面将编译为一个dll (批量编译)。

    编辑 :该死的,没意识到你预编了,抱歉弄错了。

    在这种情况下,它取决于预编译模式: 仅部署 部署和更新 .

    但是关于您的ASPX文件,调试将没有任何效果。

    仅部署 :所有文件都将预编译,调试对它们没有影响。

    部署和更新 :.asmx,.ashx,app_主题,app_本地资源将“原样”并在第一次访问时编译。请注意,ASPX可以在此模式下更新。

        3
  •  0
  •   rtpHarry    15 年前

    你可能不得不,也可能不会。

    如果服务器的machine.config中有,那么它将强制所有网站以debug=false运行。

    否则是的,您需要在启动时禁用它。当你这样做的时候,它会占用更少的内存。