避免不必要的执行操作 关闭不必要的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、数据集采用要多少给多少,杜绝不分字段不分页 |
|