ASP.NET MVC 提高运行速度的几种性能优化方法
2018-06-22 07:47:43来源:未知 阅读 ()
1. 应用程序缓存
- 缓存一直都是优化应用时屡试不爽的最后绝招。只要使用得当,缓存绝对可以有效加速应用。
- 在进行数据库调用以检索记录时,正是实现应用程序缓存的最佳时机。
- 譬如说,你搭建了一个博客。当访客请求某一篇博文时,你将其从数据库中检索出来,保存在缓存中。当下一个访客通过 ID 请求同一篇博文时,应用程序会首先根据 ID 在缓存中寻找博文,如果找到,就将之返回给访客,而无需访问数据库。
- 这节省了数据库调用的高昂开支。
2. 优化图片
- 有时候,取决于文章内容的不同,图片可能会是一篇博文中最大的资源。
- 你应该压缩这些庞大的资源。图片越小,网页渲染的速度越快。
- Image Optimizer(图片优化)插件是很有用的 Visual Studio插件。选定你的所有图像,再选择无损(Lossless)或者有损(Lossy)图片优化模式,每张图片都会根据一定的比率压缩大小。
- 此外,如果你掌握了 Grunt 或 Gulp 之类的前端客户端工具,就可以在创建应用或者部署应用时自动实现图片优化。
3. 使用 Sprites
- 每个网站都有图片。图片几乎是必不可少的网站元素。
- 但是,如果你有很多小图片,该如何处理呢?假设有20张小图片,那就是20次图片检索请求,每张图片一次。
- 这时候,Sprites 就能派上用场啦。
- Sprites 是由众多小图片集合而成的一张大图。浏览器可以直接请求这张大图,你再通过 CSS 技术抓取其中的小图片,并将其展示在网页的不同位置上。
- 我知道,很多开发者并不熟悉 CSS。因此,建议大家找点资料好好学习一下。CSS 真的非常有用。
- 此外,还有许多在线 sprite 生成器,可以协助这一过程。(Piskel, Sprite Cow, 或者谷歌搜索:“在线 Sprite 生成器”)
4. ETags
- 有些读者可能不知道 ETags 为何物。其实,ETags 是用于 Web 缓存验证的工具,允许有条件的客户端请求。
- 通过 ETags,浏览器可以判断某项资源是否被需要。如果不需要,浏览器就不会向 Web 服务器发送请求,从而最小化请求数量。
- 笔者甚至将 ETag ActionFilter 类列为最喜欢的 ActionFilter 类,因为 ETags 的确能最小化网站向 Web 服务器发送的请求数量。
5. 捆绑或最小化 JavaScript/CSS 代码
- 捆绑与最小化早已不是什么新鲜的概念了。
- 捆绑是指将所有 JavaScript 与 CSS 代码打包为一个 JavaScript 或 CSS 文件的过程。这与 Sprite 技术相似,不过处理的是 JavaScript 与 CSS 文件。捆绑可以减少针对单独 JavaScript 与 CSS 文件的请求,从而减少成本。
- JavaScript 与 CSS 文件充满了空格,这些空格占用了不少的空间。最小化就是移除 JavaScript 或 CSS 文件里的大量空格的过程。
- 在 ASP.NET MVC 项目中, App_Start 文件夹下有一个 BundleConfig.cs 文件。你可以在该文件中定义 JavaScript 与 CSS 文件的捆绑或最小化设置。
6. 压缩
- 你发觉我们的套路了么?
- 实现压缩的方式有两种:一是通过IIS激活压缩,二是通过 ActionFilter 类。
- 压缩启用后,Web 服务器会将资源压缩成包,再传给客户端。后者会先解压缩,然后再展示内容。
- 这能有效提高资源传送的速度。
- 还为此写了一个 CompressFilter 类。通过 Action 方法调用该类,就能实现对网页的压缩。
结论
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- asp.net源程序编译为dll文件并调用的实现过程 2020-03-29
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- Asp.Net中WebForm的生命周期 2020-03-29
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash