web.config batch =“false”

时间:2009-03-20 19:37:07

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

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

4 个答案:

答案 0 :(得分:18)

MSDN说明了批处理标志的目的

  

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

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

MSDN Link

答案 1 :(得分:12)

我知道这个问题已经关闭(关于v1.1),但批量属性实际上在.Net 2.0以后默认为True。

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

答案 2 :(得分:3)

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

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

  

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

     
      
  • Performance-当Batch = false时,ASP.NET编译器将为Web应用程序中的每个Web表单和用户控件创建一个程序集。   它还会使编译器执行完全编译,而不是增量编译   在使用F5构建时在Visual Studio 2005中编译。最终结果   您的Web应用程序在部署和构建时可能会运行得更慢   Visual Studio 2005中的时间会显着增加。
  •   
  • 程序集引用 - Batch属性可以隐藏潜在的破坏程序集引用(当Batch = True时),甚至引入循环   参考(当Batch = False时)。
  •   

答案 3 :(得分:1)

我认为默认值为false(在2.0以上),因此添加batch=false的点将作为默认文档或占位符的文档,因此如果您想要的话,显然需要更改。< / p>