一起谈.NET技术,40条ASP.NET开发Tip

简介: 1、在compilation 下,请设置debug=false ,如下:default Language="c#" debug="false">2、请使用Server.Transfer代替Response.Redirect。

1、在compilation 下,请设置debug=false ,如下:

default Language="c#" debug="false">

2、请使用Server.Transfer代替Response.Redirect。

3、使用Validator控件,请要经常检查Page.IsValid。

4、请使用foreach循环,而不是为字符串迭代循环。

5、请使用客户端验证方式(不要每次都在服务端验证)。

6、为了避免重复代码执行,请检查“Page.IsPostBack”。

7、GIF 和PNG类似,但是PNG通常产生一个较小体积的文件。(当然,有些浏览器不支持PNG格式)

8、更新二进制文件时,请使用AppOffline.htm 。

9、除非需要,否则请关闭跟踪。

< trace  enabled ="false"  requestLimit ="10"  pageOutput ="false"  traceMode =
"SortByTime"
 localOnly ="true" />

  

10、编译页面,请禁用AutoEventWireup。在Machine.config文件中请设置AutoEventWireup为false。

11、如果不需要,请关闭Session会话。

< sessionstate  timeout ="20"  cookieless ="false"  mode ="Off"  stateconnectionstring
="tcpip=127.0.0.1:42424"
 sqlconnectionstring ="data source=127.0.0.1;Trusted_Connection=no" >

12、在你生成最终版本的应用程序之前,请选择Release模式。默认是Debug。

13、如果不需要请禁用ViewState 。

EnableViewState="false"

14、请避免频繁的访问数据库。

15、使用缓存提高你的应用程序的性能。

16、验证所有的用户输入。

17、请最后释放所有资源。

18、String 和Stringbuilder。

      修改字符串时,使用Stringbuilder而不是String ,在每次字符串修改的时候,String都会占据不同的内存空间,而Stringbuilder只使用同一个内存空间

19、切勿直接使用对象的值,先从本地变量获取对象的值,然后再使用。因为直接读取对象的值比读取变量更花时间。

20、避免异常:使用if。

21、代码优化:避免使用:x = x +1,而是使用x+=1比较好。

22、数据访问技术:DataReaders提供快速有效的数据检索方法。在性能方面,DataReader是速度远远超过DataSets 。

23、在做一个笨重的ASP代码的处理之前,你进行检查以确保Response.IsClientConnected。

24、避免session变量,因为每个ASP页面是在不同的线程运行和session调用将会被逐一序列化。这样会降低应用程序。你可以使用QueryString集合或者表单上面的hidden变量来保存值。

25、使buffer有效,能提高性能,如:

<%  response.buffer = true   %>

 接着使用:

<%  response.flush = true   %>

26、使用Repeater控件代替DataGrid,DataList,因为它是高效的,可定制的,和可编程的。

27、在数据库中检索大量数据,数据列表消耗更多的时间。

    分页将显示特定的数据,但是要考虑所有数据负载。只取当前页需要的数据。

28、避免内嵌JavaScript和CSS。

29、使用单个的css文件,而不是多个css文件。

    请尽量将您所有的css合并成一个css的类文件,不管文件大小,大量的.css文件会造成大量的请求。.css文件通常是由浏览器缓存,这样一个单一的沉重的.css文件不会导致在每个页面请求时会有漫长的等待。

    内嵌.CSS类导致HTML沉重,因此我觉得:首先考虑一个single.css文件。

30、减少cookie的大小。

31、压缩CSS, JavaScript 和Images。

可以使用在线的压缩,压缩文件,将下列网页和优化的代码替换为您的文件内容。

http://iceyboard.no-ip.org/projects/css_compressor[^]  CSS 压缩
www.xtreeme.com/javascript-optimizer/[^] .  JS 压缩

32、适当地使用缓存。

i、页面输出缓存:

<% @ OutputCache Duration = " 3600 "  VaryByParam = " none "   %>

ii、页片段缓存:

在每个用户控件中写页面输出缓存

iii、数据缓存:

代码
< script  language ="C#"  runat ="server" >  
 Protected 
void  Page_Load (Object src, EventArgs e) 
{   
 DataView dv 
=  (DataView) Cache. Get ( " EmployeesDataView " );   
 If (dv 
==   null )
 { 
//  wasn't there
  SqlConnection conn  =      new  SqlConnection ( " server=localhost;uid=sa;pwd=;database=Test " );  
  SqlDataAdapter da 
= new  SqlDataAdapter ( " select * from Employees " , conn);  
  Dataset ds 
=   new  DataSet();
  da.Fill(ds, 
" Employees " );   
  dv 
=  ds.Tables[ " Employees " ].DefaultView;   
  Cache.Insert (
" EmployeesDataView " , dv);
  conn.Close();
}   
 Else   
 Response.Write (
"

Loaded employees from data cache! 

" );  
 lb1.DataSource 
=  dv;  
 lb1.DataTextField 
=   " Name " ;    
 lb1.DataValueField 
=   " Age " ;   
 DataBind () ;
}   
script> 

 

33、服务器端使用诸如Port80s压缩软件http://www.port80software.com/products/httpzip/[^]。

34、使用了“using”。

35、不要声明成员变量为 public 或者proteted,尽量使用private 成员变量和public/protected 属性。

36、使用strString=string.Empty 代替 strString="" 。

37、请尽可能减轻你的页面文件,尽量避免不必要的标签,例如使用div代替table。

38、在div中写静态的消息,必要的时候才显示出来。这比你设置服务端的label和div的text属性快。

39、如果可能的话,一次性检索数据库中的数据。尽可能不要添加数据库的访问。因此,整合来自不同表datafields和选择它们。

40、给WebControl取个简短的名字。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
目录
相关文章
|
6天前
|
开发框架 JavaScript 前端开发
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
|
3月前
|
SQL 开发框架 数据可视化
企业应用开发中.NET EF常用哪种模式?
企业应用开发中.NET EF常用哪种模式?
|
4天前
|
开发框架 前端开发 .NET
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!
为了便于大家查找,特将之前开发的.Net Core相关的五大案例整理成文,共计440页,32w字,免费提供给大家,文章底部有PDF下载链接。
17 1
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!
|
2月前
|
C#
.NET开发中合理使用对象映射库,简化和提高工作效率
.NET开发中合理使用对象映射库,简化和提高工作效率
|
2月前
|
开发框架 前端开发 JavaScript
一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器
一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器
|
3月前
|
JavaScript C#
【傻瓜级JS-DLL-WINCC-PLC交互】2.wincc使用C#开发的.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】2.wincc使用C#开发的.net控件
24 0
|
3月前
|
开发者
.NET微信网页开发之网页授权获取用户基本信息
.NET微信网页开发之网页授权获取用户基本信息
|
3月前
|
存储 SQL 开发框架
国产化之路 Linux Mono下的asp.net 开发笔记(三)
国产化之路 Linux Mono下的asp.net 开发笔记(三)
|
3月前
|
存储 SQL 开发框架
国产化之路 Linux Mono下的asp.net 开发笔记(二)
国产化之路 Linux Mono下的asp.net 开发笔记(二)
|
3月前
|
存储 开发框架 .NET
国产化之路 Linux Mono下的asp.net 开发笔记(一)
国产化之路 Linux Mono下的asp.net 开发笔记(一)

相关产品

  • 云迁移中心