【问题标题】:web.config batch="false"web.config 批处理 =“假”
【发布时间】:2010-10-14 15:17:18
【问题描述】:

在ASP.NET 1.1的编译标签中添加batch="false"的目的是什么?

【问题讨论】:

    标签: c# asp.net vb.net web-config .net-1.1


    【解决方案1】:

    MSDN 说批处理标志的用途

    消除了编译时需要的编译造成的延迟 首次访问文件。当此属性设置为 True 时, ASP.NET 以批处理模式预编译所有未编译的文件,这 第一次编译文件时会导致更长的延迟。 然而,在这个初始延迟之后,编译延迟被消除了 在后续访问该文件时。

    将其设置为 false 可能会使其第一次编译得更快,但随后会变慢,我相信这也适用于 1.1。

    MSDN Link

    【讨论】:

      【解决方案2】:

      我知道这个问题已经结束(大约是 v1.1),但在 .Net 2.0 及以后的版本中,批处理属性实际上默认为 True。

      http://msdn.microsoft.com/en-us/library/s10awwz0%28VS.80%29.aspx

      【讨论】:

        【解决方案3】:

        在asp.net 1.1中,当你在“批处理模式”设置为true编译时,源文件的输出会根据目录、文件类型等被编译成单个程序集。当“批处理模式”为关闭时,输出是整个项目的单个程序集。

        这个small paragraph from an MSDN article描述了一些优点和缺点。

        使用此功能时您应该注意几个问题 属性。

        • 性能—当 Batch=false 时,ASP.NET 编译器将为您的 Web 应用程序中的每个 Web 窗体和用户控件创建一个程序集。 它还会导致编译器进行完整编译,而不是增量编译 编译,在 Visual Studio 2005 中使用 F5 构建时。最终结果 是您的 Web 应用程序在部署时运行速度可能会变慢,并且您的构建 在 Visual Studio 2005 中,时间将显着增加。
        • Assembly References - Batch 属性可能隐藏潜在的损坏的程序集引用(当 Batch=True 时),甚至引入一个 Circular 参考(当 Batch=False 时)。

        【讨论】:

          【解决方案4】:

          我相信默认值是 false(在 2.0+ 中),所以添加 batch=false 的目的是作为默认值的文档,或者作为占位符,所以很明显如果你想要 true 来改变什么。

          【讨论】:

          • 问题是针对 ASP.NET 1.1
          猜你喜欢
          • 2010-12-17
          • 2019-08-22
          • 2021-11-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多