asp.net - 组合脚本 - Toolscript 管理器与 3.5 中的 CompositeScript

标签 asp.net performance asp.net-ajax ajaxcontroltoolkit

我一直在使用我网站上的 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/

相关文章:

c# - 如何使用具有管理员权限的 rest api 测试/使用 linkedin 发布到公司页面?

performance - 为什么一些分离的 DOM 与作为保留对象的原生 HTML 元素有未知的距离?

python - MySql: 20000行记录中只显示5行,为什么?

javascript - mvc session 过期后,如何使整个页面重定向到登录?

ASP.NET 5 (MVC6) EF7 外键可能导致循环

asp.net - 登录失败不返回正确页面

c# - 用于索引文档和文本的良好搜索技术是什么

javascript - 抓取 500 不存在的 URL

javascript - 本地化 <asp :FileUpload>. IE 问题

asp.net - 当页面加载是 AJAX 历史记录点的结果时,如何检测客户端?