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

福州建设网站效果搜索引擎优化有哪些要点

福州建设网站效果,搜索引擎优化有哪些要点,做设计开店的网站,卖猕猴桃网站建设宣传策划书有时缓存整个页面是不现实的#xff0c;因为页的某些部分可能在每次请求时都需要变化。在这些情况下#xff0c;只能缓存页的一部分。顾名思义#xff0c;页面部分缓存是将页面部分内容保存在内存中以便响应用户请求#xff0c;而页面其他部分内容则为动态内容。页面部分缓…有时缓存整个页面是不现实的因为页的某些部分可能在每次请求时都需要变化。在这些情况下只能缓存页的一部分。顾名思义页面部分缓存是将页面部分内容保存在内存中以便响应用户请求而页面其他部分内容则为动态内容。页面部分缓存的实现包括两种方式    控件缓存通过使用控件嵌套的方式来实现缓存部分页面 。    替换后缓存通过缓存整个页面替换部分页面组件的方式来实现部分缓存。1. 控件缓存也称为片段缓存这种方式允许将需要缓存的信息包含在一个用户控件内然后将该用户控件标记为可缓存的以此来缓存页面输出的部分内容。该选项允许缓存页面中的特定内容而没有缓存整个页面因此每次都需重新创建整个页。例如如果要创建一个显示大量动态内容如股票信息的页其中有些部分为静态内容如每周总结这时可以将静态部分放在用户控件中并允许缓存这些内容。在ASP.NET中提供了UserControl这种用户控件的功能。一个页面可以通过多个UserControl来组成。只需要在某个或某几个UserControl里设置缓存。例如那么可以在WebUserControl1.ascx的页头代码中添加声明语句% Control LanguageC# AutoEventWireuptrue CodeBehindWebUserControl1.ascx.cs InheritsCacheWebApp._16_4_5.WebUserControl1 %% OutputCache  Duration60 VaryByParamnone %%DateTime.Now %调用该控件的页面WebForm1.aspx代码% Page LanguageC# AutoEventWireuptrue CodeBehindWebForm1.aspx.cs InheritsCacheWebApp._16_4_5.WebForm1 %% Register srcWebUserControl1.ascx tagnameWebUserControl1 tagprefixuc1 %html xmlnshttp://www.w3.org/1999/xhtml head runatservertitle控件缓存/title/headbodyform idform1 runatserverdiv页面的%DateTime.Now % /divdiv控件的uc1:WebUserControl1 IDWebUserControl11 runatserver //div/form/body/html这时候刷新WebForm1.aspx页面时页面的时间每次刷新都变化而用户控件中的时间数据却是60秒才变化一次说明对页面的“局部”控件实现了缓存而整个页面不受影响。-------------------------------------------------------------------------------------------------------2. 缓存后替换与控件缓存正好相反。它对整个页面进行缓存但是页中的某些片段是动态的因此不会缓存这些片段。ASP.NET页面中既包含静态内容又包含基于数据库数据的动态内容。静态内容通常不会发生变化。因此对静态内容实现数据缓存是非常必要的。然而那些基于数据的动态内容则不同。数据库中的数据可能每时每刻都发生变化因此如果对动态内容也实现缓存可能造成数据不能及时更新的问题。对此问题如果使用前文所述的控件缓存方法显然不切实际而且实现起来很繁琐易于发生错误。如何实现缓存页面的大部分内容而不缓存页面中的局部某些片段。ASP.NET 2.0提供了缓存后替换功能。实现该项功能可通过以下三种方法一是以声明方式使用Substitution控件二是以编程方式使用Substitution控件API三是以隐式方式使用控件。前两种方法的核心是Substitution控件本节将重点介绍该控件第三种方法仅专注于控件内置支持的缓存后替换功能本节仅做简要说明。(1) Substitution控件应用为提高应用程序性能可能会缓存整个ASP.NET页面同时可能需要根据每个请求来更新页面上特定的部分。例如可能要缓存页面的很大一部分需要动态更新该页上与时间或者用户高度相关的信息。在这种情况下推荐使用Substitution控件。Substitution控件能够指定页面输出缓存中需要以动态内容替换该控件的部分即允许对整页面进行输出缓存然后使用Substitution控件指定页中免于缓存的部分。需要缓存的区域只执行一次然后从缓存读取直至该缓存项到期或被清除。动态区域也就是Substitution控件指定的部分在每次请求页面时都执行。Substitution控件提供了一种缓存部分页面的简化解决方案。% Page LanguageC# AutoEventWireuptrue CodeBehindWebForm2.aspx.cs InheritsCacheWebApp._16_4_5.WebForm2 %% OutputCache Duration60 VaryByParamnone %html xmlnshttp://www.w3.org/1999/xhtml head runatservertitle缓存后替换示例/title/headbodyform idform1 runatserverdiv页面缓存的时间% DateTime.Now.ToString() % /divdiv 真实替换的时间asp:Substitution IDSubstitution1 runatserver MethodNamegetCurrentTime //div/form/body/html页面后台代码public partial class WebForm2 : System.Web.UI.Page{public static string getCurrentTime(HttpContext context){return DateTime.Now.ToString();}}如上代码所示Substitution控件有一个重要属性:MethodName。该属性用于获取或者设置当Substitution控件执行时为回调而调用的方法名称。该方法比较特殊必须符合以下3条标准Ø 此方法必须被定义为静态方法Ø 此方法必须接受HttpContext类型的参数Ø 此方法必须返回String类型的值。在运行情况下Substitution控件将自动调用MethodName属性所定义的方法。该方法返回的字符串即为要在页面中的Substitution控件的位置上显示的内容。如果页面设置了缓存全部输出那么在第一次请求时该页将运行并缓存其输出。对于后续的请求将通过缓存来完成该页上的其他代码不会再运行。但Substitution控件及其有关方法则在每次请求时都执行并且自动更新该控件所表示的动态内容这样就实现了整体缓存局部变化的替换效果。如上代码所示在代码头部通过 OutputCache指令设置页面输出缓存过期时间为5秒这意味着整个页面数据都应用了缓存功能。因此“页面缓存的时间”所显示的时间值来自于数据缓存。这个时间值不会随着刷新页面而变化仅当缓存过期时才会发生更新。Substitution控件的MethodName属性值为getCurrentTime。该控件显示的内容来自于getCurrentTime方法的返回值。尤为重要的是虽然页面设置了输出缓存功能但是每当页面刷新时ASP.NET执行引擎仍然要重新执行Substitution控件并将MethodName属性值指定的方法返回值显示在页面上因此显示的是当前最新时间。示例效果如图15-2所示图15-2 缓存后替换随着页面的刷新真实时间在变而页面缓存的时间在指定的缓存时间内始终不变。注意l Substitution控件无法访问页上的其他控件也就是说无法检查或更改其他控件的值。但是代码确实可以使用传递给它的参数来访问当前页上下文。l 在缓存页包含的用户控件中可以包含Substitution控件。但是在输出缓存用户控件中不能放置Substitution控件。l Substitution控件不会呈现任何标记其位置所显示内容完全取决于所定义方法的返回字符串。(2) Substitution控件API应用上一小节介绍了以声明方式使用Substitution控件实现缓存后替换的应用。本节说明另一种实现方法。该方法的核心是以编程方式利用Substitution控件API实现缓存后替换相对于以声明方式使用Substitution控件的方法具有更强灵活性。通过为Substitution指定回调方法实现和声明同样的效果。Substitution的回调方法必须是HttpResponseSubstitutionCallback委托定义的方法它有两个特征l 一是返回值必须是Stringl 二是参数有且仅有一个并且是HttpContext类型。当需要以编程方式为缓存的输出响应动态生成指定的响应区域时可以在页面代码中将某个方法即回调方法的名称作为参数HttpResponseSubstitutionCallback传递给Substitution。这样Substitution就能够使用回调方法并将回调方法的返回值作为给定位置的替代内容显示出来。需要注意的是回调方法必须是线程安全的可以是作为容器的页面或者用户控件中的静态方法也可以是其他任意对象上的静态方法或实例方法。下面演示一个以编程方式将 Substitution 控件添加到输出缓存网页。与(1)Substitution控件应用所示的示例完成同样功能。不同的是实现方式。% Page LanguageC# AutoEventWireuptrue CodeBehindWebForm3.aspx.cs InheritsCacheWebApp._16_4_5.WebForm3 %% OutputCache Duration60 VaryByParamnone %html xmlnshttp://www.w3.org/1999/xhtmlhead runatservertitle缓存后替换-Substitution控件API应用/title/headbodyform idform1 runatserverdiv页面缓存的时间asp:Label IDLabel1 runatserver TextLabel/asp:Label/divdiv真实缓存替换的时间asp:PlaceHolder IDPlaceHolder1 runatServer/asp:PlaceHolder/div/form/body/html页面后台CS代码 protected void Page_Load(object sender, EventArgs e){//创建一个SubstitutionSubstitution Substitution1 new Substitution();//指定调用的回调方法名Substitution1.MethodName GetCurrentDateTime; PlaceHolder1.Controls.Add(Substitution1); Label1.TextDateTime.Now.ToString(); }public static string GetCurrentDateTime(HttpContext context){return DateTime.Now.ToString();}如上代码所示页面使用 OutputCache指令设置了输出缓存功能其配置数据缓存过期时间为60秒。然而页面其他内容都被缓存通过Substitution调用的回调方法显示的内容是不被缓存的。 引用地址http://hi.baidu.com/jiangyangw3r/item/e2cad6d0a9eb2ee6b2f77769转载于:https://www.cnblogs.com/sishierfei/archive/2012/07/13/2590513.html
http://www.zqtcl.cn/news/616817/

相关文章:

  • 免费的个人网站怎么做企业网站管理系统软件
  • 枣庄住房和城乡建设局网站如何注册国外域名
  • 满洲里建设局网站网页设计公司的目标客户有哪些
  • 英文书 影印版 网站开发怀化组织部网站
  • 网站建设领域的基本五大策略要学会网站细节
  • dede做英文网站优化cms建站系统哪个好
  • eclipse sdk做网站邯郸技术服务类
  • 汕头网站网站建设西安网约车租车公司哪家好
  • 网站空间域名维护协议网络推广软件平台
  • 昆明网站建设公司猎狐科技怎么样wordpress主题打不开
  • 网站推广入口服饰网站建设 e-idea
  • 长沙网站建设电话2个女人做暧暧网站
  • 手机手机端网站建设电子商务网站建设步骤一般为
  • 上海金瑞建设集团网站怎样登陆网站后台
  • 定西模板型网站建设网络架构和现实架构的差异
  • 做搜索的网站做网站的代码有哪些
  • 视频制作网站推荐js做音乐网站
  • 海北wap网站建设公司有后台网站怎么做
  • 织梦网站最新漏洞入侵外贸网站模板有什么用
  • 在跨境网站贸易公司做怎么样网站建设维护合同范本
  • 网站必须做可信认证南山网站制作
  • 如何使用mysql数据库做网站企业管理专业大学排名
  • 九江网站建设九江深圳网站建设费用大概多少
  • 万网站长工具郑州seo哪家公司最强
  • 宁波哪里可以做网站企业网站源码哪个好
  • 网站每天点击量多少好精选聊城做网站的公司
  • 网站建设课程基础兰州网站seo费用
  • 天助可以搜索别人网站曲靖网站推广
  • 易语言编程可以做网站么网站备案流程
  • 我想接加工单seo搜索引擎优化工资