【发布时间】:2011-08-05 18:25:29
【问题描述】:
这里的解决方案运行良好,但是它们非常耗费人力。对于希望在旧的 asp.net 解决方案上执行类似增强功能的任何人,我强烈建议将项目切换到 MVC,以利用脚本和样式捆绑。 .aspx 文件在 MVC 项目中按预期工作。
我即将开始为我们的一款产品执行一些性能增强。 我们的用户使用非常慢的无线电连接到网络。应用程序的主要瓶颈是网络和数据库。我将专注于减少应用程序的网络占用。
我将从几个“速战速决”开始,然后再深入了解拆解 UpdatePanel、删除不必要的内容以及我能想到的任何其他内容。
现在我有一些我认为我已经准备好实施的事情
其中包括
- 缩小合并css Using This
- 缩小合并js same as above
- 从发送给客户端的 html 中删除多余的空格。 Using this
编辑:资产缩小和空白清理工具可以很好地协同工作。
但是我有一些事情我不知道该如何解决。
某些 Microsoft 资源(
WebResource.axd?d=blahblah和ScriptResource.axd?d=blahblah)未缩小。 This 和 This 以及其他一些取决于页面。 Microsoft.Ajax 很好。如果这些文件没有被自动缩小,我该如何手动缩小它们?我在某处缺少设置吗?是否可以将 microsoft 资源与我的 javascript 合并到一个 js 文件中?
401 错误,在提琴手中,我可以看到我对网站的第一次点击总是给出 401 错误,紧随其后的是正常的 200。此外,其他资源在第一次调用时也会随机出现 401。这是某种 IIS 设置需要配置以删除这个不需要的调用吗?
aspx 文件中的Javascript。不幸的是,我们的 aspx 文件中有很多 js,还有很多 javascript 在我们的代码背后使用
ScriptManager.RegisterStartupScript渲染。我将如何在 aspx 标记中缩小<script>标记中的 javascript?- Favicon,这个可以禁用吗?如果不是,那么下一个最好的事情是什么?
更新
Mads Kristensen 的合路器效果很好。但是,我发现某些包含 14+ axd 引用的页面存在问题,会产生 404.15 错误(查询字符串太长,即只有错误)我对此的解决方案是 gzip 和 base64 编码查询字符串。
我发现将我的 js 包含与 .axd 文件结合起来是一项徒劳的任务,因为每个页面的 .axd 文件都不同。将我的静态 js 文件分开会产生一个额外的服务请求,但它将保持缓存在客户端上,而不是让客户端重新下载这些脚本作为组合 js axd 文件的一部分。
我启用了匿名身份验证。没有更多问题了。
没有进展。
我发现将 favicon.ico 放在根目录是必要的。我认为这可能只是因为我的应用程序的设计方式。
【问题讨论】:
-
您可能应该将您的 JS 函数分解为一个单独的文件,然后将其缩小。在您的 aspx 中,您应该只调用那些缩小文件中的函数。直接在页面中嵌入脚本并动态地写出脚本不会很容易地缩小...
-
对于 1) 如果您的
Web.config文件包含<compilation debug="false">,您的 axd JS 文件将被缩小。 stackoverflow.com/a/1679992/1145177
标签: javascript asp.net optimization minify