zoukankan      html  css  js  c++  java
  • 40条ASP.NET开发Tip

    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 (
    "<h2>Loaded employees from data cache! </h2>");  
     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取个简短的名字。

  • 相关阅读:
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    449. Serialize and Deserialize BST
    114. Flatten Binary Tree to Linked List
    199. Binary Tree Right Side View
    173. Binary Search Tree Iterator
    98. Validate Binary Search Tree
    965. Univalued Binary Tree
    589. N-ary Tree Preorder Traversal
    eclipse设置总结
  • 原文地址:https://www.cnblogs.com/skyshenwei/p/1649462.html
Copyright © 2011-2022 走看看