NopCommerce 导航菜单HTML静态处理以提高性能
2014-04-04 09:36
471 查看
因网站要快速上线,有时候NopCommerce性能问题一直是困扰我们的最大因素,查找出来需要优化的部分代码进行修改重构是方法之一,我等非主流优化方式只为快速提高程序整体性能。
我以导航菜单为例,列出我们在开发中优化的方式。
在MVC中引入视图的代码段:
当我们取数据发现运行速度太慢,我们就想着把内容给静态缓存起来就有了下面的代码:
在我们修改了分类相关内容的时候,我们需要删除staticmenu.html文件,我们是在后台清除缓存的方法中加了下面代码:
代码简单,在第一次访问的时候会慢。
收工。
欢迎大家加NopCommerce群进入交流。
我以导航菜单为例,列出我们在开发中优化的方式。
在MVC中引入视图的代码段:
@Html.Action("Menu", "Common")
当我们取数据发现运行速度太慢,我们就想着把内容给静态缓存起来就有了下面的代码:
@{ string outHtml = string.Empty; if (!File.Exists(Server.MapPath("~/staticmenu.html"))) { string content = Html.Action("Menu", "Common").ToString(); using (StreamWriter writer = new StreamWriter(Server.MapPath("~/staticmenu.html"), false, System.Text.Encoding.UTF8)) { outHtml = content; writer.Write(content); writer.Dispose(); } } else { using (StreamReader sr = new StreamReader(Server.MapPath("~/staticmenu.html"), System.Text.Encoding.Default)) { outHtml = sr.ReadToEnd(); sr.Dispose(); } } } @Html.Raw(outHtml)
在我们修改了分类相关内容的时候,我们需要删除staticmenu.html文件,我们是在后台清除缓存的方法中加了下面代码:
public ActionResult ClearCache() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageMaintenance)) return AccessDeniedView(); var cacheManager = new MemoryCacheManager(); cacheManager.Clear(); //Panda更新 增加清除前台导航缓存 if (System.IO.File.Exists(Server.MapPath("~/staticmenu.html"))) { System.IO.File.Delete(Server.MapPath("~/staticmenu.html")); } return RedirectToAction("Index", "Home"); }
代码简单,在第一次访问的时候会慢。
收工。
欢迎大家加NopCommerce群进入交流。
相关文章推荐
- 怎样提高WebService性能大数据量网络传输处理
- Jsp生成静态页面,Tomcat提高并发性能之王道!
- Html+css+div+ul+li制作Web前端导航菜单。
- 碳纤维风格的插入式导航菜单:HTML…
- 怎样提高WebService性能大数据量网络传输处理
- 利用jQuery load 方法加载HTML公共页面,导航菜单自动选中
- 优化网站性能 提高网站速度访问速度的14条实践(原文:http://www.phpv.net/html/1660.html)
- java中处理xml数据性能不能大幅提高的根本原因 - 继续追寻高性能xml解析方法
- jq+css+html简单实现导航下拉菜单
- Html,CSS导航浮动弹出菜单
- 30余个漂亮的CSS导航菜单效果http://exploding-boy.com/images/cssmenus/menus.html
- 提高 .NET Framework 应用程序的字符串处理性能 转载
- javascript HTML+CSS实现经典橙色导航菜单
- [转] 提高前端性能方面的处理以及不足 ---张鑫旭
- HTML导航菜单
- Jsp生成静态页面,Tomcat提高并发性能之王道!
- 提高TOMCAT并发处理性能
- 提高 .NET 应用 XML 处理性能的几点开发经验(转载)
- 提高 .NET 应用 XML 处理性能的几点开发经验
- Bootstrap导航菜单点击后无法自动添加active的处理