【问题标题】:Removing ASP.NET WebForms 'App_Themes' directory crashes the App Pool删除 ASP.NET WebForms 'App_Themes' 目录会使应用程序池崩溃
【发布时间】:2012-06-25 04:07:59
【问题描述】:

我最近开始研究一个大型 ASP.NET WebForms 项目。

该项目使用了 App_Themes 目录,其中包含大量杂乱无章的 CSS 和图像资源。

我发现主题目录中的每个 CSS 文件都已加载,无论我是否愿意,它们都是按字母顺序加载的。

我显然更喜欢对我的 CSS 和前端资源有更多的控制和灵活性,我将它们全部移到一个单独的目录中,然后删除了整个 App_Themes 文件夹。

这似乎只是移动资源的简单问题,但在部署到我们的生产服务器后,系统很快变得不稳定,应用程序池反复崩溃。

恢复App_Themes 目录使系统再次稳定,但这对我来说毫无意义。 App_Themes 文件夹,以及它可能具有的任何可能依赖项,看起来就像一个奇怪的黑盒子,我无法弄清楚并且似乎无法摆脱。

【问题讨论】:

    标签: asp.net webforms application-pool app-themes


    【解决方案1】:

    App_Themes 是 ASP.Net 中的“特殊目录”之一。虽然它可能不是必需的(这些天默认情况下您不会看到它们),但它们可能在配置 (web.config)、任何皮肤控件、页面等中被引用 - 也许这就是应用程序在之后不稳定的原因您删除了该文件夹(破坏了对它的所有引用)。

    检查此类引用 - 您可以(重新)从定义的主题中移动 css 文件,这样您就可以从一张白纸开始,如果这是您想要的。除非您可以在应用中找到并删除所有对主题使用的引用,否则请避免修改目录结构。

    App_Themes 可以很强大。您只需更改 web.config 即可轻松更改整个网站的外观(也称为“主题”)

    <system.web>
        <!-- chage this value to "fall" in the Fall -->
        <pages theme="Summer" />
    </system.web>
    

    上面的“Summer”主题设置映射到App_Themes 中的“Summer”子文件夹,其中包含Summer 主题的样式表/皮肤。如果您有“Fall”主题,则映射到App_Themes 中的同名子文件夹...

    参考:ASP.Net Themes/Skins

    【讨论】:

    • 感谢您的回复。正如您所提到的,我意识到 App_Themes 目录是那些“特殊目录”之一。这就是为什么我不确定是否可能存在一些我不知道的黑盒依赖关系。我确实从 web.config 中删除了 theme="XXXX" 值,但我怀疑它没有被正确推送到我们的生产环境,因为我们的部署过程中存在一些缺陷。现在我几乎可以肯定这是问题所在。我只是不确定是否还有其他需要检查的参考资料。
    猜你喜欢
    • 2012-03-30
    • 2011-01-16
    • 2011-11-18
    • 2011-03-03
    • 1970-01-01
    • 2011-10-26
    • 2010-10-03
    • 1970-01-01
    • 2012-06-16
    相关资源
    最近更新 更多