zoukankan      html  css  js  c++  java
  • ASP.NET页面和控件缓存

    页面缓存:
      给页面添加<%@ OutputCache Duration="60" VaryByParam="none"%> 标签就可以启用页面缓存,这样整个页面的内容都会被缓存,页面中的ASP.Net代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。Duration表示缓存时间,以秒为单位,超过这个时间则缓存失效,再次生成之后会再缓存60秒,以此类推。在Page_load出设置断点,修改数据库数据后,可以测试其效果。
      缓存是针对所有这个页面的访问者。这样1个访问者和1万个访问者,一次访问和一万次访问对数据库的压力都是一样的。  
      VaryByParam的作用是根据不同的参数设置不同的缓存,如果设为none则表示不理会参数。例如ViewNews.aspx?id=1,ViewNews.aspx?id=2,是两个不同的新闻页面,但是如果VaryByParam=none,则只是缓存了第一个访问的新闻的页面,其他新闻页面查看的时候看到的都将会是缓存。所以我们可以设置VaryByParam=“id”,则会根据不同新闻的id设置不同的缓存。多个参数用逗号隔开 VaryByParam=“id,number”。如果想
    让任何不同的查询字符串都创建不同的缓存,则设置VaryByParam=“*”,一般情况下这样设置就足够用了。
    在Webusercontrol中也可以像设置页面缓存一样设置控件的缓存。

    数据源的缓存可以直接在属性列表中设置。CacheDuration="60" EnableCaching="True"

     

    错误页的设置:
    <customErrors mode="RemoteOnly" defaultRedirect="~/Common/NoOperate.aspx">
    <error statusCode="403" redirect="~/NoAccess.htm"/>
    <error statusCode="404" redirect="~/FileNotFound.htm"/>
    </customErrors>
    customErrors mode="On" 这个模式,指的是错误页开放模式,有on,off,RemoteOnly,三个值,On表示对所有人开放错误页导向功能,off是关闭错误页导向,RemoteOnly表示对外部访问者开放,但是在服务器上访问的时候还是原始报错信息,方便发现错误!
    错误分好多种类型。如403,404,代码错误等。如果是用户敲错地址,资源没找到错误,只需要提示错误。但是如果代码出错了,则需要记下来。这时候就需要用到。aspx页面的错误页,动态将错误信息写到日志中去。如果要在错误页中拿到异常对象,必须设置customErrors中设置redirectMode="ResponseRewrite",因为默认是客户端重定向,在错误页面中就拿不到异常对象了。

    Exception ex = HttpContext.Current.Server.GetLastError();//得到错误信息。 
    File.AppendAllText(Server.MapPath("~/Error/Error.txt"),ex.Message+ex.StackTrace+DateTime.Now);//保存错误信息

    作者:GY小小鸟
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Message Flood SDUT 1500
    SDUT1482——二元多项式
    SDUT—2057 模拟题
    Eight(bfs+全排列的哈希函数)
    Pick-up sticks(判断两条线段是否相交)
    poj 1265 Area(pick定理)
    poj 2503 Babelfish(字典树哈希)
    poj 3007 Organize Your Train part II(静态字典树哈希)
    Surprising Strings(map类)
    Strange Way to Express Integers (一般模线性方程组)
  • 原文地址:https://www.cnblogs.com/YangFengHui/p/2018602.html
Copyright © 2011-2022 走看看