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