zoukankan      html  css  js  c++  java
  • C#大型网站开发提高性能的几点建议

    关闭不必要的Session状态
    <%@ Page EnableSessionState="false" %>
    注意使用Server Control
    不必要时可以不使用Server Control
    不必要时可以关闭ViewState
    <asp:datagrid EnableViewState="false“ runat="server"/>
    <%@ Page EnableViewState="false" %>
    不要用Exception控制程序流程
    try {
    result = 100 / num;
    }
    catch (Exception e) {
    result = 0;
    }
    if (num != 0)
    result = 100 / num;
    else
    result = 0;
    禁用VB和JScript动态数据类型
    <%@ Page Language="VB" Strict="true" %>
    使用存储过程数据访问
    只读数据访问不要使用DataSet
    使用SqlDataReader代替DataSet
    SqlDataReader是read-only, forward-only
    关闭ASP.NET的Debug模式
    使用ASP.NET Output Cache缓冲数据
    页面缓冲
    <
    %@OutputCache%>
    Duration
    VaryByParam
    片断缓冲
    VaryByControl
    数据缓冲
    过期依赖条件
    Cache.Insert("MyData", Source, 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));
    存储过程,那就不用说了
    页面最好静态的
    全局缓存要做好
    别太多的包含文件
    能用JS实现的效果都用JS实现
    能在客户端实现的就用
    分页使用好的存储过程,其他的也尽量使用存储过程
    少用些耗费资源的控件,减少回发
    记得销毁数据库连接
    不要把所有内容都放在大表格中 而是尽量以横向分段,一段为一个表格
    能用html的就不要用aspx了
    能用javascript就不要用cs了
    datagrid能不用就不用
    session、viewstate、Server Control能不用就关
    存储过程、缓存会用就用,不会就学
    只读数据使用datareader,很多的数据库操作使用存储过程,
    使用<
    %@outputcache Duration=60 VaryByParam="*"%>进行缓存
    关闭debug模式
    正确使用索引
    if (!Page.IsPostBack)进行绑定不需要回传的代码
    图片不要太精确
    主页数据查询比较多但更新不常用的可以使用aspx动态生成html页面
    控件不需要经常编程的 比如输入控件等都使用HTML控件
    使用Squid缓存技术


    大型门户网站asp.net实现的注意事项

    1. 不要用服务器端控件
    2. 全面禁用asp.net的一些页面级新特性
    3. web.config里的debug要为false,并且dll文件编译是要生成为release版本的
    4. 尽量不要用dataset。除非用到嵌套循环
    5. 运行在win2003企业版上。
    6. 用sqlclient或oracleclient访问数据库
    这些是asp.net开发大型网站必须要重视的几点,其它一些就是静态页面啊和硬件上的一些问题,这些跟其它大型网站诸如此类


    补充:

    1、转向用Server.Transfer,不用Response.Direct
    2、ADO对象在一次使用过程中不要重复打开创建,尽量使用一个Connection、一个Command、一个DataReader,并且记得不再调用数据库数据时马上关闭、释放ADO对象
    3、数据集采用要多少给多少,杜绝不分字段不分页

  • 相关阅读:
    HTTP以及TCP协议
    分布式理论
    JAVA基础面试题
    JAVA基础面试题
    vue 中百度富文本初始化内容加载失败(编辑操作某列数据时,富文本中内容偶尔会为空)
    CodeMirror的使用方法
    JSON格式化,JSON.stringify()的用法
    promise与await的用法
    服务器端node.js
    数组扁平化
  • 原文地址:https://www.cnblogs.com/existcQ/p/2985306.html
Copyright © 2011-2022 走看看