自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET 4.0新特性預覽 數據處理增強

原創(chuàng)
開發(fā) 后端
本文將介紹一些ASP.NET 4.0新特性,還有許多開創(chuàng)新的功能和改進是相當激動人心的。希望本文對大家了解這些新特性有所幫助。

【51CTO獨家特稿】有人問“為什么微軟每18個月變動一次開發(fā)平臺”

其實不是改動,而是一些改進。 相比.NET 2.0有了很多額外的API,比如LINQ, Entity Framework等,這是進行數據處理的不同方式。核心ADO.NET仍然有效,這些ASP.NET 4.0新特性提供額外的增強可讓開發(fā)人員和架構師選擇面更廣。

有人問到URL Rewriting

URL Routing比URL Rewriting好用得多了。我們過去已經對此討論過很多。你可以在下面這個鏈接了解更多信息 http://www.mostlylucid.net/archive/2009/01/25/asp.net-4.0-webform-routing-quick-rsquon-dirty-version.aspx  

Visual Studio 2010 Beta 1和.NET Framework Beta 1已經發(fā)布有一段時間了,我也早就該寫這篇文章了。ASP.NET 4.0改進了許多不同的場景集(set of scenarios),如Webforms ,Dynamic Data以及基于AJAX的Web開發(fā)。此外還有許多對支撐ASP.NET的核心運行時環(huán)境的改進,比如Caching, Session,還有Request/Response對象。

在這篇文章里,我們將一起檢驗一下對web form的一些改進。這樣的改進很多,我們還將在隨后的文章里體驗更多這種改進。

使用ViewStateMode屬性控制View State - 性能的增強

在ASP.NET Webform里最為人所詬病的毛病之一就是不斷增多的viewstate影響到性能。盡管之前就可以把EnableViewState屬性設為true或false ,之后,所以有的controls都默認繼承,并且即使你在control層把它設為啟用,也還是會產生不一致的行為。

在ASP.NET 4.0新特性中,ViewStateMode屬性有助于確定每個control的Viewstate是否應啟用,禁用或被繼承。例如:

  1. <asp:Panel ID="pnlViewState" runat="server" ViewStateMode="Disabled">   
  2.       Disabled: <asp:Label ID="label1" runat="server"  Text="Value set in markup"ViewStateMode="Inherit"  /><br />   
  3.            Enabled: <asp:Label ID="label2"  runat="server" Text="Value set in markup"ViewStateMode="Enabled" />   
  4.   <hr />   
  5.   <asp:button ID="Button1" runat="server"  Text="Postback" />   
  6.     asp:Panel> 

后端代碼

  1. protected void Page_Load(object sender, EventArgs e)   
  2.     {   
  3.         if (!IsPostBack)   
  4.         {   
  5.             label1.Text = "Value set in code behind";   
  6.             label2.Text = "Value set in code behind";   
  7.         }   
  8.     } 

運行這個頁面,你會發(fā)現兩個標簽的初值都被設為了"Value set in code behind",而點擊按鈕(postback)后,label1的值變成了“Value set in markup” ,label2的值則保持不變。正如你所看到的那樣,保存這兩個標簽的面板把ViewStateMode設置為禁用,label1繼承了這一設置(如果沒有指定的話這是默認值),label2則設為了啟用。這就是為什么label2保持了viewstate而label1丟失了。

雖然可以說之前就可以使用簡便的EnableViewState屬性,但一直就不穩(wěn)定。想想我們在大多數性能討論會(performance session)上,都會說如果viewstate不能正常運作就先禁用它然后再在control層設為啟動,這個ViewStateMode的引入可以說是有助提升性能的一個很好的結構性變動(architectural change)。

網頁的Meta Keyword和Description - 搜索引擎優(yōu)化功能

在Visual Studio 2008中,可以通過直接聲明或在程序中使用Page.Title設置網頁的標題。隨著越來越多的流量通過搜索引擎,網頁的標題,關鍵字和描述變得更為重要了。雖然由于關鍵字被人濫用導致許多搜索引擎已經對此忽略不計,但是,頁面的描述還是Google,Bing這些主流搜索引擎賴以鑒別和索引網頁內容的依據。

ASP.NET 4.0新特性允許用戶像下面這樣通過編程的方式設置頁面描述和關鍵詞: -

  1. protected void Page_Load(object sender, EventArgs e)   
  2.     {   
  3.         this.Page.Title = "My ASP.NET Blog";   
  4.         this.Page.MetaKeywords = "ASP.NET, Web Development, Blog, ASP.NET Blog";   
  5.         this.Page.MetaDescription = "This Blog contains posts related to ASP.NET and Web Development";   
  6.     } 

以上代碼會產生如下標記:

  1. <meta name="keywords" content="ASP.NET, Web Development, Blog, ASP.NET Blog" /> 
  2. <meta name="description" content="This Blog contains posts related to ASP.NET and Web Development" /> 

它的運作機制是,如果meta標簽已經出現在HTML標簽里,那么只要name屬性相同,程序中設定的內容就都會被填寫到content里。

雖然這看起來很簡單,但是在要根據某些條件或標準來動態(tài)設置它們的情況下,這就很有用了。目前,這些內容都是在HTML代碼里靜態(tài)地設定的?,F在,有了Page類這一級的訪問,它們就可以動態(tài)地設置了。

對Webforms還有許多其它的改進,比如Routing的增強,ClientID的設置等。

讓我們歡呼吧!

【編輯推薦】

  1. ASP.NET緩存數據添加方法一覽
  2. ASP.NET緩存機制基礎概念
  3. 再談ASP.NET緩存機制:開發(fā)效率與優(yōu)化的平衡
  4. .NET分布式緩存之Memcached執(zhí)行速度檢測
  5. 如何避免ASP.NET緩存占用系統(tǒng)資源
責任編輯:彭凡 來源: 51CTO
相關推薦

2009-09-04 16:28:05

ASP.NET 4.0

2009-07-30 14:55:43

ASP.NET 2.0

2010-05-20 08:50:45

UrlRoutingASP.NET 4.0

2009-04-09 14:42:19

ASP.NETLINQ數據庫

2010-10-12 09:52:02

ASP.NET MVC

2011-01-15 23:07:59

2009-12-02 09:07:45

ASP.NET 4.0

2009-07-20 16:44:56

ASP.NET MVCIValueProvi

2009-08-10 18:16:33

ICustomQuer.NET 4.0

2009-07-30 15:17:16

ASP.NET 2.0

2010-01-05 09:26:13

.NET 4.0

2011-09-15 14:40:56

ASP.NET MVC

2010-10-08 14:32:32

ASP.NET MVCNuPack

2009-12-30 10:21:36

.NET 4.0

2009-07-30 15:39:55

ASP.NET 2.0

2024-07-02 08:45:08

2009-08-05 16:04:50

2009-07-20 16:04:37

ASP.NET fra

2009-02-06 14:11:36

ASP.NET.NET全局異常處理

2009-07-22 17:45:35

ASP.NET教程
點贊
收藏

51CTO技術棧公眾號