我一直在使用我网站上的 AjaxControlToolkit 中包含的 toolscriptmanager。这个有一个CombineScript 属性,它告诉scripmanager 将来自ajax 控件的必要脚本合并到一个脚本文件中。
但是,从 3.5 开始,标准脚本管理器支持“
我应该继续使用 toolscriptmanager 还是应该使用 CompositScript 来最大化性能?
最佳答案
这两种工具本质上是实现同一目标的两种不同方法。
Toolkit 的脚本管理器旨在组合整个站点中的每个可用 JS 文件。这里的好处是它很容易设置 - 您可以替换 ScriptManager 并放手。缺点是除非每个页面都使用完全相同的脚本集,否则您将迫使用户下载过多的脚本代码。如果您的主页使用脚本 A、B、C、D 而内页使用 A、B、C、D、E,那么当您的用户点击内页时,他们将不得不重新下载 A、B、C 的内容,D 因为它将成为不同组合脚本资源的一部分。
CompositeScript 功能旨在对其包含的脚本非常挑剔。开发人员必须分析每个页面上使用了哪些脚本并将它们添加到组合脚本中。在前面的示例中,您可以选择(在母版页中,最好)组合 A、B、C、D,而不是 E。然后您的用户将点击主页,并下载 A、B、C、D一枪。然后他们会继续到内页,浏览器缓存中已经有 A-D,只需要下载 E。
因此,与许多事情一样,这取决于您的架构以及您可以为此付出多少努力。这两种方法似乎都是极端的方法,一种是默认包含的方法,一种是默认排除的方法,而且似乎没有任何中间路径。 (我多么希望有一个。)
编辑:这个需要投反对票的答案有什么令人反感的地方?请用评论解释你自己。
关于asp.net - 组合脚本 - Toolscript 管理器与 3.5 中的 CompositeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1333239/