web.config 批处理 =“假”
Posted
技术标签:
【中文标题】web.config 批处理 =“假”【英文标题】:web.config batch="false" 【发布时间】:2010-10-14 15:17:18 【问题描述】:在ASP.NET 1.1的编译标签中添加batch="false"的目的是什么?
【问题讨论】:
【参考方案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以上是关于web.config 批处理 =“假”的主要内容,如果未能解决你的问题,请参考以下文章
vs2015 工程中 Web.Release.config和Web.Debug.config文件无效的处理办法
报告查看器 Web 控制 HTTP 处理程序未在应用程序的 web.config 文件中注册
asp.net网站 两个文件夹 两个web.config怎么处理