1、在使用Visual Studio " /> 欧美性类s0x,久久无码av三级,久久91精品国产91久

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

ASP.NET編程中的十大技巧第1/2頁

在本篇文件中,我們將討論編程人員在使用ASP.NET開發應用程序時需要注意的10個技巧,這些技巧涉及從缺省的控件、表單名的改變到StringBuilder類的使用,有助于編程人員能夠盡快地適應.NET環境。 

1、在使用Visual Studio .NET時,除直接或非引用的對象外,不要使用缺省的名字。 

.NET帶來的好處之一是所有的源代碼和配置文件都是純文本文件,能夠使用Notepad或WordPad等任意的文本編輯器進行編輯。如果不愿意,我們并非一定要使用Visual Studio .NET作為集成開發環境。但使用了Visual Studio .NET,我們可以在Windows文件管理器中看到文件,或在Visual Studio .NET之外從文本編輯器中瀏覽文件的內容。 
使用Visual Studio .NET作為集成開發環境有許多好處,其中最顯著的好處是它極大地提高了生產效率。使用Visual Studio. NET,我們能夠在付出較小代價的情況下更快地開發軟件。作為集成開發環境一部分的IntelliSense提供自動的代碼完成、在輸入方法或函數時提供動態幫助、語法錯誤的實時提示,以及其他能夠提高生產效率的功能。 
象其他復雜的工具那樣,在學會如何充分發揮它的作用和掌握其“習性”前,Visual Studio .NET也會使我們產生一種挫折感。有時,它象一個難以了解的黑盒子,會生成大量的文件和許多無用的代碼。 
Visual Studio .NET的一個功能是,無論是類、控件或表單中的對象,它都能夠為新對象提供缺省名字。例如,如果我們創建了一個新的ASP.NET Web Application,其缺省的名字將是WebApplication1。我們可以在“新工程”對話框中方便地改變該應用的名字,但同時改變的只是該應用程序的名字空間的名字及其所在的虛擬目錄,源代碼文件的缺省名字仍然是WebForm1.ASPx和WebForm1.ASPx.cs(C#工程)或WebForm1.ASPx.vb(VB.NET工程)。 

我們可以在方案瀏覽器中改變ASPX和代碼使用的文件名字,但Web頁類的名字仍然將是WebForm1。如果在該Web表單上生成一個按鈕,其缺省的名字將是Button1。事實上,所有控件的名字都是由控件的類型和數字組成的。 
我們能夠,也應該將應用程序中所有的表單和控件的名字都修改成有意義的名字。對于較小的演示性程序而言,缺省的名字還能夠勝任,但如果應用程序由多個表單,每個表單上有許多按鈕和標簽時,象frmStartup、frmDataEntry和frmReports這樣的表單名就比Form1、Form2和Form3這樣的名字更易于理解和維護。 
如果表單上控件要在代碼的其他地方引用,使它有一個有意義的名字就更重要了。btnOK、btnCancel和btnPrint這樣的名字使看代碼的人更容易理解,因而,也比名字為Button1、Button2、Button3這樣的控件更容易維護。 
修改一個工程中所有文件中出現的一個名字的一個好方法是,在Visual Studio .NET菜單中依次選擇“編輯”->“發現和替換”->“替換”命令。 
在看二周前編寫的代碼時,我們經常就象第一次見到這些代碼一樣,因此使它們有一個有助于我們理解其含義的名字是十分有必要的。 


2、即使不使用Visual Studio .NET進行編程,使用代碼支持文件也有利于提高應用程序的性能 

在Web應用程序、Web服務或Web控件等所有的ASP.NET Web工程中,Visual Studio .NET都使用代碼支持文件。代碼支持文件使工程具有更好的組織、模塊性,更適合多人組成的開發團隊。另外,它還會帶來性能的提高。 
代碼支持文件的內容被編譯成一個組合文件中的類,一般是一個DLL文件,有時也可以是EXE文件。該文件駐留在應用程序的組合體高速緩沖區中,在應用程序啟動時,可以立即得到它。 
如果代碼是包含在<script>標記中或ASPX文件代碼中,它仍然會被編譯成一個Web頁類。在這種情況下,每當該網頁在應用程序對話中第一次加載時,都需要重新進行編譯,被編譯的類就會駐留在內存中。每當計算機啟動、IIS停止、重新啟動或者源代碼、配置文件改變時,該文件必須重新編譯。盡管不大,但這樣引起的性能損耗也是相當可觀的。 


3、盡量減少表單回送 

每當點擊Web網頁上的Button、LinkButton或ImageButton控件時,表單就會被發送到服務器上。如果控件的AutoPostBack屬性被設置為true,如果CheckBox、CheckBoxList等控件的狀態被改變后,也會使表單會發送回服務器。 
每次當表單被發送回服務器,就會被重新加載,啟動Page_Load事件,執行Page_Load事件處理程序中的所有代碼。把網頁的初始化代碼放在這里是最合適不過的了。我們經常會希望在每次加載網頁時執行一些代碼,而希望只有在網頁第一次加載時執行另一些代碼,甚至希望一些代碼在除首次加載外的每次加載時執行。 
可以利用IsPostBack特性來完成這一功能。在網頁第一次加載時,該屬性的值是false。如果網頁因回送而被重新加載,IsPostBack屬性的值就會被設置為true。通過測試,可以在任意時候執行指定的代碼。下面是相關的C#代碼: 
protected void Page_Load(Object sender, EventArgs e) 

// 網頁每次加載時,執行的一些操作 
if (!IsPostBack) 

// 網頁第一次加載時執行的操作 

else 

// 回送時執行的操作 


// 網頁每次加載時執行的操作 

我們希望盡量不引起回送(每次回送都會要求服務器進行一系列的操作),即使引起回送后。也希望能夠執行盡量少的操作。大規模、浪費時間的操作(例如數據庫查找)尤其應當避免,因為它們能夠延長應用程序的響應時間。 


4、使用StringBuilder類 

字符串在.NET框架中是不可變的,這意味著改變字符串的操作符和方法會返回字符串的改變后的拷貝,這意味著性能還有提高的空間。當進行大量的字符串操作時,使用StringBuilder類就是一種比較好的選擇了。 
下面的C#代碼測試用二種方式從10000個子字符串中生成字符串所需要的時間。第一次使用了一個簡單的字符串串聯操作;第二次使用了StringBuilder類。要想查看結果字符串,可以去掉下面的代碼中注解行的注解符號: 

<%@ Page Language="C#" %> 

<script runat="server"> 
void Page_Load(Object Source, EventArgs E) 

int intLimit = 10000; 
DateTime startTime; 
DateTime endTime; 
TimeSpan elapsedTime; 
string strSub; 
string strWhole = ""; 

// 首先執行字符串連接操作 
startTime = DateTime.Now; 
for (int i=0; i < intLimit; i++) 

strSub = i.ToString(); 
strWhole = strWhole + " " + strSub; 

endTime = DateTime.Now; 
elapsedTime = endTime - startTime; 
lblConcat.Text = elapsedTime.ToString(); 
// lblConcatString.Text = strWhole; 

// 使用stringBuilder類進行同樣的操作 
startTime = DateTime.Now; 
StringBuilder sb = new StringBuilder(); 
for (int i=0; i < intLimit; i++) 

strSub = i.ToString(); 
sb.Append(" "); 
sb.Append(strSub); 

endTime = DateTime.Now; 
elapsedTime = endTime - startTime; 
lblBuild.Text = elapsedTime.ToString(); 
// lblBuildString.Text = sb.ToString(); 


</script> 

<html> 
<body> 
<form runat="server"> 

<h1>String Concatenation Benchmark</h1> 

Concatenation: 
<ASP:Label 
id="lblConcat" 
runat="server"/> 

<br/> 

<ASP:Label 
id="lblConcatString" 
runat="server"/> 

<br/> 
<br/> 

StringBuilder: 
<ASP:Label 
id="lblBuild" 
runat="server"/> 

<br/> 

<ASP:Label 
id="lblBuildString" 
runat="server"/> 

</form> 
</body> 
</html> 
二種方式的差別是相當大的:使用StringBuilder類的Append方法的速度比使用字符串連接的速度快近200倍。比較的結果如下所示: 
(圖:picture01) 

AspNet技術ASP.NET編程中的十大技巧第1/2頁,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线日本高清日本免费 | 日本一本2017国产 | 5g在线视讯年龄确认海外禁止进入 | 真实伦 乱| 俄罗斯美女性生活 | 男人插曲女人下生免费大全 | 久久国产欧美 | 国产在线视精品在亚洲 | 久久不射电影网 | 久久久WWW免费人成精品 | 久久香蕉国产线看观看 | 国产人妖一区二区 | 18黄女脱内衣 | 国产制服丝袜91在线 | GAY东北澡堂激情2022 | 日本美国群交P片内射捆绑 日本毛片久久国产精品 | 国产一区二区高清 | 黄色三级网址 | 黑兽在线观看高清在线播放樱花 | 国产精品久久久久久搜索 | 啊叫大点声欠CAO的SAO贷 | 亚洲国产在线精品国偷产拍 | 亚洲第一综合天堂另类专 | YELLOW在线观看高清视频免费 | 99久久精品免费国产一区二区三区 | 天天影视网网色色欲 | 91嫩草国产在线观看免费 | 99久久无码一区人妻A片蜜 | 欧美一区二区三区男同 | 伊人影院亚洲 | 性吧 校园春色 | 午夜性伦鲁啊鲁免费视频 | 国产一卡2卡3卡4卡孕妇网站 | 男男高H啪肉Np文多攻多一受 | 亚洲精品入口一区二区乱麻豆精品 | 青青草原影视 | 亚洲男人天堂网 | 两个人的视频hd全免费 | 亚洲 日韩 在线 国产 视频 | 亚洲青青草 | 99久久99久久精品 |