2

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

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

我发现无论我是否需要,都会加载主题目录中的每个 CSS 文件,并且它们都是按字母顺序加载的。

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

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

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

4

1 回答 1

3

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”主题设置映射到“Summer”子文件夹,App_Themes其中包含 Summer 主题的样式表/皮肤。App_Themes如果您有“Fall”主题,则映射到...中的同名子文件夹

参考:ASP.Net 主题/皮肤

hth

于 2012-06-23T04:41:48.757 回答