首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET嵌套了CompilationMode=“从不”的母版页面,这是灾难的接受者吗?ASP.NET中的Bug?

ASP.NET嵌套了CompilationMode=“从不”的母版页面,这是灾难的接受者吗?ASP.NET中的Bug?
EN

Stack Overflow用户
提问于 2010-01-18 13:55:33
回答 1查看 410关注 0票数 2

在进行一个相当大的web应用程序项目时,我决定通过使用CompilationMode="Never" @Page属性标记一些页面和控件,可以获得一点新鲜空气。到目前为止还不错,按预期工作,然后就发生了。我将要解释的一个角落案例场景出人意料地表现得很好。此方案是嵌套母版页。

在继续之前先快速地挑逗一下。如果您将顶部的CompilationMode="Always",母版页标记为CompilationMode="Never"?,并将其下面的所有其他页面标记为,您认为可以进行多深的嵌套?不,它不是无限的,也不是ASP.NET所拥有的内部数。2.为什么?-我不知道,我希望你们中的一些聪明人能启发我?

我附加了一个带有5个嵌套母版页的项目,以演示我所说的内容:嵌套母版页Web应用程序测试项目

另一个意外地工作的角落案例--如果您有5个嵌套的母版页,将第二个更改为CompilationMode=“始终”,而所有其他的则改为CompilationMode=“从不”。您会注意到,3母版页正在应用两次

如果我正在做的事情是不正确的,请帮助我理解,或者确认这个问题。

ASP.NET运行时版本: 2.0,.NET: 3.5

编辑:

附加的项目将所有母版页设置为CompilationMode="Never".。ASPX页面按需要显示。更改第一个主版(Site.master),使CompilationMode=“始终”,以了解我在说什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-18 19:44:31

更新(1/21/2010):好消息:经过更多的调查后,这个问题被VS2010解决了。修复是后Beta 2,所以它将是下一个公共建设的一部分。我没有确切的日期,但应该不会太远。

是的,我似乎还记得之前提到的这一点,实际上,涉及嵌套母版页和CompilationMode=的一些场景“从未”中断过。

看看一个旧邮件线程,我认为只有某些组合才会出现这种情况。它看起来好像坏了( NoCompile的意思是compilationMode=never):

  1. NoCompile页面/编译母版/ NoCompile母版
  2. NoCompile页面/ NoCompile母版/编译母版

当时,我们没有修复这个问题,因为修复并不简单,而且这种情况并不常见。

请注意,当涉及到NoCompile页面时,大多数好处是将其用于终端节点aspx页,而不是母版页。通常,NoCompile页面的运行速度要比编译后的页面慢一些。他们的好处是,他们没有第一次编译命中,他们使用较少的内存。此外,它们可以在内存压力下完全卸载。这就是为什么当你拥有大量的端点页面(Sharepoint使用它们)时,它们是很有意义的。但是在母版页面上(大多数应用程序只有少数几个页面共享),这种好处将是微乎其微的。当然,您不能在NoCompile页面中使用代码,这也是很少有人使用它们的主要原因。

因此,简单的总结是:您是对的,这是一个bug!:),建议的解决方法是避免母版页使用CompilationMode=never。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2086442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档