最新IBM水货笔记本价格,详细点击进入

查看完整版本: .net这样做可能会更好

风舞残阳 2008-4-2 13:44

.net这样做可能会更好

 今天开始写后台的处理[wiki]程序[/wiki]了,有几个体会。  编译后的cs文件在体积和[wiki]速度[/wiki]上都有明显的缩小和加快,200多k的源文件压缩以后才不到28k,速度基本是瞬时的。
  注意点:
  1:编译的时候尽量把继承同一个[wiki]类[/wiki]的或者是处理同一个“[wiki]对象[/wiki]”的类编译在一起,这样速度会快一点。
  2:样式表文件会被aspx文件的缓存项缓存(如果开启闪屏smartNavigation="true",开启闪屏的话弊病就不说了),效果就会非常明显,当然这是在框架页中体现出来的。
  3:命名[wiki]空间[/wiki]要非常有规律,否则几百个的class,最后会混的。
  4:要熟练掌握并使用委托处理[wiki]时间[/wiki]。
  5:明白render,createchildcontrol,prerender的前后次序,这点在创建控件的时候有用。
  6:try..catch的时候捉捕Exception的[wiki]动作[/wiki]高明一点FileNotFoundException等最好具体一点,推荐从System.ApplicationException派生,而不是System.Exception,应用程序就能够区别由框架引发的异常和由用户引发的异常。(在这点上,相信我,不要相信其他说法的任何文档).
  插曲:如果你的服务出现问题,首先查看的FORM是启动的服务[wiki]管理[/wiki],例如Mysql是不是没启动,Apache是不是禁掉了.
  7:注意==和equal是不一样的,string和ToString也是不一样的,清除Session的时候注意最好Remove,不要动不动Abandon,这就要求程序上什么时候创建什么变量都是很清楚的。
  8:每种[wiki]数据库[/wiki]的执行关键字和分割符号都是不一样的,所以尽量熟悉那些关键字再写,记住,只有一个危险的,就是单引号,其他的都是[wiki]安全[/wiki]的,熟练使用command对象,@,?,mysql中最好用单引号写sql语句,因为不会被执行。
  9:(插曲) 开始了FHR的第四次升级处理,md,原先的代码好垃圾呀,析构函数居然没关mysql对象,属性管理器也没用好,bs一下所有人。php的开发[wiki]周期[/wiki]就是短,当前版本V0.04商业豪华版。(注:功能和V1.01商业Beta版没法比,包括后台,1.01是非常大气的,0.04不行呀,YY结束,开始干活),注意:修改了FHR_templat的[wiki]结构[/wiki]和mysql类的析构函数和一些分页,@define了一个变量Admin_Page_List.,某些地方看不顺眼的也修改了一下。对模板的添加也是做了极大的修改(因为我要用)。ps:现在像条狗. 10.暂无.
  1:判断是否是字符型:
 Char.IsNumber(char);
 Char.IsNumber(string,int);  2:错误统一处理:      publicstaticstringOutMess(string[]args){
        intArgsLength=args.Length;
        stringstrs="%26lt;fontcolor=red%26gt;";
        if(ArgsLength%26lt;1)returnstrs;
        switch(args[0]){
          case"0":strs=(ArgsLength%26gt;1)?args[1]:"%26lt;b%26gt;操作失败%26lt;/b%26gt;.";break;
          case"1":strs=(ArgsLength%26gt;1)?args[1]:"%26lt;b%26gt;操作成功%26lt;/b%26gt;.";break;
          default:strs=(ArgsLength%26gt;1)?args[1]:"%26lt;b%26gt;操作结束%26lt;/b%26gt;.";break;
        }
        strs+="%26lt;/font%26gt;";
        if(ArgsLength%26gt;2){
          strs+="%26lt;br/%26gt;2秒后跳转到%26lt;strong%26gt;"+args[2]+"%26lt;/strong%26gt;%26lt;br%26gt;";
          strs+="%26lt;metahttp-equiv='refresh'content='2;[wiki]URL[/wiki]="+args[2]+"'/%26gt;";
          strs+="%26lt;br/%26gt;%26lt;ahref="+args[2]+"%26gt;点这里直接跳转%26lt;/a%26gt;";
        }
        return  strs;    
      }  3:用户菜单读取xml文档,可以考虑加载到session文件里面,记住,在page_unload的时候

  System.Web.HttpContext.Current.Session.Remove(KEY);
  OR:
  System.Web.HttpContext.Current.Session.Abandon();
  4:养成良好的
try{
...
}catch(XXException){
.....
}finally{
....
}  的[wiki]编程[/wiki][wiki]习惯[/wiki].
  5:分开数据层和控制层.
  6:使用变量的时候合理的初始化,以免Null引用.
  7:记住:正则很慢.
  8:使用列表控件如Repater,DataGrid的时候如无需要,一定要把
  EnableViewState=false;
  9:格式数据(DataFormatString):
  DataFormatString="xxxxxx.aspx?ID={0}";
  10:如果你的存储过程老是提示什么"xx旁边有语法错误",可能是由于你declare的参数的长度不够!
  11:强制结束进程:
  ntsd-cq-pPID
  12:数据库日志缩小
  DUMPTRANSACTION你的数据库名WITHNO_LOG
  BACKUPLOG你的数据库名WITHNO_LOG
  DBCCSHRINKDATABASE(你的数据库名)
  EXECsp_dboption'你的数据库名','autoshrink','TR[wiki]UE[/wiki]'
  13:验证double数据可以用:
^([0-9]+)[.]?([0-9]*)(([E│e]{1}[-]?)?([0-9]+))?$
Validati  其他待等.
页: [1]
查看完整版本: .net这样做可能会更好