当前位置: 首页 > news >正文

描述网站开发的广告词网页设计建网站流程

描述网站开发的广告词,网页设计建网站流程,深圳广电制作中心,wordpress怎么搬站一. 前言 抛砖引玉#xff1a; 提到项目性能优化#xff0c;大部分人第一时间就会想到缓存#xff0c;针对“读多写少”的数据#xff0c;可以放到缓存里#xff0c;设置个过期时间#xff0c;这样就不用每次都去数据库中查询了#xff0c; 减轻了数据库的压力#xff…一. 前言 抛砖引玉 提到项目性能优化大部分人第一时间就会想到缓存针对“读多写少”的数据可以放到缓存里设置个过期时间这样就不用每次都去数据库中查询了 减轻了数据库的压力比如商城项目的物品分类目录不会经常变化就可以放到缓存里。 详细分析缓存的引入减轻了数据库的压力但还是要访问服务器端的接口需要执行接口中的代码需要从缓存中读取数据我们有没有办法直接访问一个页面不再执行服务器端代码的业务呢 答案是显然的肯定有那就是页面静态化。 1. 什么是页面静态化 针对每个用户看到的页面显示的数据都是一样的情况可以考虑把该页面直接生成一个html页面存放到服务器的硬盘中该html页面中是有数据的其他用户直接访问该页面地址即可这样既减轻了数据库的 压力还不需要执行服务器端业务代码显然是要比缓存好的。通俗点说就是把原先要从数据库查询的数据写死到html中保存用户直接通过服务器存放的地址进行访问 案例比如博客园博主发表一篇文章文章的内容对每个用户来说看到的内容都是一样的这样的话新增文章的时候内容固然要存到数据库但同时将内容写到一个html页面里保存到服务器硬盘上 博主更新博客的时候同样要更新原先的html静态页面这样其他用户访问的时候直接通过这个页面的地址进行访问即可。 PS分享一个博客地址https://www.cnblogs.com/yaopengfei/p/9216229.html 可以看出来最后都是 xxx.html ,显然是静态页面。 2. 页面静态化的适用范围 首先静态页的性能比缓存好在条件适用的情况下能用静态页就用静态页静态页适用于相同地址所有人看到的内容都是一样的这种情况。 二. 案例剖析 模拟一个简单的blog案例来说明页面静态化在实际项目中的使用该案例分为列表页和详情页面包含的功能有增加信息、修改信息、查看详情功能同时简单的设计一下数据库数据库内容如下表blogs表信息分别是主键、博客标题、博客内容、博客其它信息、添加时间。 核心剖析  事先准备一个查看详情页面的模板每次增加信息或者修改信息的时候调用【页面渲染为html字符串的方法】和【写入文件的方法】将最新的信息保存到html中进而存到硬盘上供用户直接访问。 渲染Html页面为字符串的方法如下注意收藏哦 1 /// summary2 /// 将页面渲染成html字符串3 /// /summary4 /// param namecontext传入this.ControllerContext/param5 /// param nameviewPath静态页面的模板路径/param6 /// param namemodel往模板中传入实体进行赋值/param7 /// returns/returns8 static string RenderViewToString(ControllerContext context, string viewPath, object model null)9 { 10 ViewEngineResult viewEngineResult ViewEngines.Engines.FindView(context, viewPath, null); 11 if (viewEngineResult null) 12 { 13 throw new FileNotFoundException(View viewPath cannot be found.); 14 } 15 var view viewEngineResult.View; 16 context.Controller.ViewData.Model model; 17 using (var sw new StringWriter()) 18 { 19 var ctx new ViewContext(context, view, context.Controller.ViewData, context.Controller.TempData, sw); 20 view.Render(ctx, sw); 21 return sw.ToString(); 22 } 23 } 调用时候的代码修改与之类似 三. 详细步骤和效果展示 1. 主页面展示列表、包含查看详情、增加信息、修改信息三个操作。 前端代码分享 View Code 服务端代码分享 View Code 效果展示 2. 增加信息比如依次输入66、.Net多线程、很神奇、敬请期待点击增加按钮插入数据库的同时会生成一个以id来命名静态页面存放StaticHtml文件夹下。 后台代码分享 1 /// summary2 /// 增加博客3 /// /summary4 /// returns/returns5 public ActionResult AddBlog(blogs b)6 {7 try8 {9 //1.数据库保存操作 10 b.addTime DateTime.Now; 11 db.blogs.Add(b); 12 db.SaveChanges(); 13 14 //2. 生成静态页面操作 15 string myHtmls RenderViewToString(this.ControllerContext, ~/Views/Home/TempIndex.cshtml, b); 16 System.IO.File.WriteAllText(Server.MapPath(~/StaticHtml/ b.id .html), myHtmls); 17 return Content(ok); 18 } 19 catch (Exception) 20 { 21 return Content(error); 22 } 23 } 24 /// summary 25 /// 获取所有数据 26 /// /summary 27 /// returns/returns 28 public ActionResult InitInfor() 29 { 30 Listblogs blogslist db.blogs.OrderByDescending(u u.addTime).ToList(); 31 return Json(blogslist); 32 } 模板页面代码 1 {2 Layout null;3 }4 5 !DOCTYPE html6 7 html8 head9 meta charsetUTF-8 10 meta nameviewport contentwidthdevice-width / 11 title详情页面/title 12 /head 13 body 14 div 15 pidModel.id/p 16 p题目Model.blogTitle/p 17 p内容Model.blogContent/p 18 p其他Model.blogOther/p 19 p时间Model.addTime/p 20 21 /div 22 /body 23 /html 运行结果 3. 修改信息修改数据库数据的同时进行修改静态页面的内容。 代码分享 1 /// summary2 /// 编辑博客3 /// /summary4 /// param name/param5 /// returns/returns6 public ActionResult EditBlog(blogs b)7 {8 try9 { 10 //1.数据库修改操作 11 blogs b1 db.blogs.Where(u u.id b.id).FirstOrDefault(); 12 if (b1 null) 13 { 14 return Content(error); 15 } 16 b1.blogTitle b.blogTitle; 17 b1.blogContent b.blogContent; 18 b1.blogOther b.blogOther; 19 b1.addTime DateTime.Now; 20 db.SaveChanges(); 21 22 //2. 生成静态页面操作 23 string myHtmls RenderViewToString(this.ControllerContext, ~/Views/Home/TempIndex.cshtml, b1); 24 System.IO.File.WriteAllText(Server.MapPath(~/StaticHtml/ b.id .html), myHtmls); 25 26 return Content(ok); 27 } 28 catch (Exception) 29 { 30 return Content(error); 31 } 32 } 4. 查看详情在没做页面静态化的时候是这样处理的获取该条数据的id→传到控制器的Action中→进行数据查询→页面渲染并显示页面。 而有了页面静态化后直接通过地址打开页面即可。
http://wiki.neutronadmin.com/news/123099/

相关文章:

  • 江西有色建设集团有限公司网站服装公司网站建设需求分析报告
  • 视频网站怎么做的反爬虫人脉推广app
  • 博客网站注册竞价广告推广
  • 微信网站链接怎么做可以做交互的网站
  • 厦门手机建站大连甘井子区怎么样
  • 模板网站的优势有哪些百度一下手机版
  • 阿里云虚拟主机怎么做网站大连仟亿科技网站建设公司怎么样
  • 上海建设银行网站莘庄wordpress自动识别网页
  • 济南网站建设公司哪家好行政部网站建设规划
  • 阿里云服务器架设网站威联通做网站
  • 河南网站建设yijuce怎么在网上免费做公司网站
  • 网站续费公司网站设计个人
  • 泉州网站建设优化南京h5设计公司
  • 济南网站哪家做的好wordpress新写文章会卡死
  • 高端网站设计开发广州网站优化方式
  • 网站建设中的主要功能公司做网站的目的
  • 郑州市哪里有网站建设站长工具综合查询系统
  • iis做网站上传速度慢网络营销做女鞋的网站设计
  • 做教育培训网站需要资质么百度软件下载
  • 网站建设企业的未来发展计划中信建设有限责任公司营业执照
  • 南昌seo站外优化动漫制作技术专业入门
  • 做餐饮系统网站建设上海做淘宝网站设计
  • 宁波高端网站设计价格17做网店
  • 携程的网站建设项目规划书连云港市赣榆区建设局网站
  • 什么网站容易做百度权重百度商桥代码怎么加到网站上
  • 怎么做卡盟网站免费怎么做二维码进网站
  • 农业大学网站建设特点定制软件开发流程
  • 加盟网站建设服务宣传网站模板
  • qq推广引流怎么做芜湖seo网站优化
  • 镇江网站优化怎么快速推广