程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> .net這樣做可能會更好

.net這樣做可能會更好

編輯:關於C#

今天開始寫後台的處理程序了,有幾個體會。

編譯後的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:錯誤統一處理:

public static string OutMess(string[] args){
int ArgsLength = args.Length;
string strs = "<font color=red>";
if(ArgsLength <1) return strs;
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 += "<meta http-equiv='refresh' content='2;URL="+args[2]+"' />";
strs += "<br/><a href="+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:數據庫日志縮小

DUMP TRANSACTION 你的數據庫名 WITH NO_LOG
BACKUP LOG 你的數據庫名 WITH NO_LOG
DBCC SHRINKDATABASE(你的數據庫名)
EXEC sp_dboption '你的數據庫名', 'autoshrink', 'TRUE'

13:驗證double數據可以用:

^([0-9]+)[\.]?([0-9]*)(([E|e]{1}[\-]?)?([0-9]+))?$
ValidationExpression="^([0-9]+)([\.]?([0-9]+))?(([E|e]{1}[\-]?)?([0-9]+))?$"

其他待等.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved