zoukankan      html  css  js  c++  java
  • ASPNET代码提高性能的方法大综合 沧海一粟

    1、  避免不必要的操作.例如:在Page_Load中使用IsPostBack;
    2、  尽量减少使用服务器端控件
    3、  关闭不必要的页面Session和控件的ViewState <%@Page EnableSessionState =”false”%>
    4、  禁用VB和JSP动态类型   <%@Page Language=”VB” Strict=”true”%>
    5、  使用存储过程
    6、  使用DateReader代替DataSet
    7、  关闭ASP.Net的Debug模式
    8、  使用ASP.Net的Output Cache缓冲
    <%@ OutputCache Duration=60 VaryByParam=”None” %>
    <%@ OutputCache Duration=60 VaryByParam=”TextBox1,TextBox2” %>
    说明: Duration是设置Cache的过期时间;
         VarByParam是设置是否根据参数而变化,None时所有参数使用同一Cache,设置TextBox1时则根据TextBox1的不同值分别缓存;当有多个参数时则要组合缓存;
    9、  不要使用Exception控制程序流程
    try
    {
           result=100/num;
    }
    catch(Exception e)

    {
           result=0;
    }
     
    if(num!=0)
           result = 100/num;
    else
           result=0;
     
    四、缓冲分类:
    1页面缓冲:根据VarByParam来进行不同的缓冲处理。
    2片段缓冲:在页面控件中使用页面缓冲,当一个页面里多次使用同一个页面控件时,需要根据VarByControl来进行不同的缓冲处理。
    3数据缓冲:Cache(范围是和Application一样,所有用户)
    Cache.Insert(“MyData”,Source,null,new CacheDependency(Server.MapPath(“authors.xml”)));
    Cache.Insert(“MyData”,Source,null,DateTime.Now.AddHours(1),TimeSpan.Zero);
    Cache.Insert(“MyData”,Source,null,DateTime.MaxValue,TimeSpan.FromMinutes(20))

    1、避免不必要的执行操作
    2、关闭不必要的Session状态
    3、注意使用Server Control 不必要时可以不使用Server Control
    4、不必要时可以关闭ViewState
    5、不要用Exception控制程序流程
    try {
    result = 100 / num;
    }
     catch (Exception e) {
    result = 0;
     }
    6、只读数据访问不要使用DataSet 使用SqlDataReader代替DataSet
    7、关闭ASP.NET的Debug模式  web.config里的debug要为false,并且dll文件编译是要生成为release版本的
    8、使用ASP.NET Output Cache缓冲数据
    9、对大量使用的很少更新的数据进行数据缓冲
    9、尽量使用存储过程数据访问
    10、页面能静态的就不要动态
    11、能用JS实现的效果都用JS实现,能在客户端实现的就减少回发
    12、转向用Server.Transfer,不用Response.Direct
    13、ADO.NET对象在一次使用过程中不要重复打开创建,尽量使用一个Connection、一个Command、一个DataReader,并且记得不再调用数据库数据时马上关闭、释放
    14、数据集采用要多少给多少,杜绝不分字段不分页
    15、能不用DataSet/DataGrid就不要使用
    16、运行在win2003企业版上


    1的原因就不用提了吧
    2减少消耗内存
    3减少server control解释成html的时间
    4减少传递时增加的隐藏数据,同时也减小传输文件
    5为什么非让它撞南墙再回头
    6SqlDataReader效率高于DataSet
    7正是版本不应用Debug
    8Output Cache缓冲的页听说比静态也还快(直接从内存输出连文件都不用读)
    9同样的数据,预先拿出来,放到内存总比在数据库或文件中快吧
    9存储过程是数据库预先优化和编译的
    10动态的需要先解释啊
    11办一件事,故意让你来回跑上几趟,你乐意吗?
    12Response.Direct需要先回到客户那里报个到
    13本来你手中有个笔,可是写字时你却先放下,再换一个
    14要枝给树
    15我认为DataGrid过于花哨,DataSet用来缓存数据很好,经常要换的话就浪费了
    16win2003企业版是集成.NET的操作系统

    1.注意关闭不必要的Session状态.
    2.不必要时,可以不使用Server Control 。并注意不需要时关闭View State
    3.不要用异常处理来控制程序流程。很多的地方可以用条件判断。
    4.禁用VBS、JS的动态数据类型。
    5.注意关闭Debug模式。
    6.注意使用OutputCache。
    数据访问:
    1.尽量使用存储过程。
    2.只读数据访问不要使用DateSet。
    3.数据库设计室。尽量使各个模块以及表相独立。以便日后利于分布数据库。

  • 相关阅读:
    MySQL删除重复数据
    C#如何实现Object与byte[]的互相转换
    远程桌面连接(转)
    WEB标准学习路程之"CSS":2.字体font
    WEB标准学习路程之"CSS":3.背景Background属性
    WEB标准学习路程之"入门篇":8.XHTML代码规范
    WEB标准学习路程之"CSS":9.常用选择符
    WEB标准学习路程之"CSS":1.什么是样式表
    WEB标准学习路程之"入门篇":9.校验及常见错误
    WEB标准学习路程之"CSS":4.尺寸Dimensions属性
  • 原文地址:https://www.cnblogs.com/taintain1984/p/1560927.html
Copyright © 2011-2022 走看看