2011年2月20日 星期日

第4章 Web Form 架構

        從上面的章節您大致上可以瞭解在.NET Framework中ASP.NET的運作與檔案之間的關係,從這一章開始,我們將焦點集中在ASP.NET程式設計的核心 ─ 『Web Form』物件上。

        首先我們探討ASPX和ASP之間在程式設計概念上的不同,並且介紹Web Form物件的運作概念,然後我們透過實例來實際驗證Web Form執行的過程,最後我們對Web Form物件的操作做完整的介紹。

        讀者可以在此章節中對整個WebFrom有非常完整的認識,但是此章之第1,2,3,4節中的內容,雖說是Web Form在.NET Framework中運作的基本流程概念(因此我們放在本章之初),但由於與過去ASP觀念差異相當大,且融入了物件導向概念,若讀者過去不曾利用物件導向語言來開發過Windows應用程式,或是類似的專案,可能一時之間難以會意,則可先跳過前四節,從第五節開始讀起。

        第五節之後即是程式設計的部分,概念部分較少(相對的圖開始比較多…),如果直接從第五節開始讀起,基本上不會影響您設計ASP.NET的開發功力,只是會有點知其然而不知其所以然。但當您開發過一兩支ASP.NET程式之後,可回過頭來看看這四節,融會貫通之後功力大增,將全面掌握Web Form的運作架構。

        之所以在前面要花四節的時間來介紹整個ASPX運作流程,是因為想要進入高階的ASP.NET Web應用程式設計領域,得需要瞭解整個ASPX的運作概念,才能夠精準的掌握程式設計的流程,善用Web控制項,並且流利的操作Web Form物件,否則在撰寫Web應用程式的時候,很有可能會循著過去ASP的習慣,把ASP.NET當成ASP來用,這樣將失去ASP.NET的價值,且容易背離Web Form的物件導向程式設計精神。

        特別是過去在ASP程式設計累積了相當多經驗的讀者,可以透過前面四節,詳細的比較ASP和ASPX之間的差異,相信能夠有不少的收穫。

2011年2月17日 星期四

ASP.NET Dynamic Data Web Site

前言:
Dynamic Data技術從.NET 3.5時代出現之後,就受到了不少開發人員的關注,其中DataAnnotations機制以及相關的概念,也擴展應用到了MVC和Silverlight應用程式的開發當中。它讓我們有機會建構出UI層與後端資料庫徹底隔離的應用程式,有效的降低了開發的成本,並提高程式碼的可重用性。
在ASP.NET 4.0版當中,Dynamic Data技術甚至可直接整合進傳統的Web Forms網站當中,這對於需要設計大型資料庫應用系統的開發人員來說,將有相當大的助益,使得Dynamic Data技術成為您不可不知的一環…


關於Dynamic Data技術

 

        ASP.NET 4當中的Dynamic Data技術,可以讓我們建立所謂的data-driven applications,其中的DataAnnotations Attribute、Control Template、和Field Template…等機制,讓開發人員可以透過模板技術建立出一套面對不同資料庫(表)依舊可以正常運行的Web應用程式,而不需像過去ASP.NET Web Forms的資料庫存取機制,在面對不同的資料表時常常需要重新截取資料結構或重新設計Template Field的窘境,讓我們得已有機會能夠用同一套模版來建立出可適用於多種不同資料表結構的資料庫應用程式。

        會有這樣的需求是有典故的,舉個簡單的例子,在真實世界的專案中,實務上我們常常會需要針對不同資料表建立CRUD(Create, Read, Update and Delete)等功能,如果能夠用一個模板(僅僅開發一次),在面對不同的資料表時可以完全不需要修改程式碼一樣可以運作,豈不是便利至極?

ASP.NET 4.0中的AJAX 相關技術

前言:
AJAX(Asynchronous JavaScript and XML)技術如經已經是Pure Web Application不可或缺的一環,從應用程式的角度來看,非同步服務的呼叫、後端資料的非同步存取、前端頁面上的即時回應…在在都是一個完整的Web應用程式所不可或缺的。過去的ASP.NET AJAX Framework與隨之配合的AJAX Control Toolkit,適時的扮演了Web應用程式中前後端整合的角色。如今,前端互動功能更加被重視的今天,ASP.NET則在4.0版推出的同時,正式在Visual Studio 2010當中直接加入了jQuery支援,究竟目前要如何定位AJAX技術未來在微軟的走向呢?以及要如何選擇適合的AJAX技術?還有新版的ASP.NET Ajax Library究竟有哪些強項呢?在這篇文章中我們將為您探討…

ASP.NET AJAX技術的出現

 

         AJAX的發展在微軟的ASP.NET產品線中有著蠻特別的際遇,在90年代的後期,其實就有類似AJAX技術的應用出現,但真正開始普遍被大眾接受,則是在2005年前後,Google大量的使用AJAX技術在其產品當中,諸如搜尋引擎、Gmail等Web-Based Solutions。

         如果我們回顧當時的情境,05年正好是ASP.NET 2.0大舉進攻的一年,該年11月,微軟正式推出了ASP.NET 2.0,其中琳瑯滿目的新功能,諸如Master-Page、新的資料存取技術與控制項、Login Controls、Profile、Navagation…等機制,成功擄獲了相當多Web開發人員的心,正式為Web應用程式開發開啟了嶄新的一頁。

         但AJAX技術卻沒有在2.0時來得及加入到產品當中,當時的ASP.NET AJAX還是處於CTP階段--代碼為Atlas的一組Libraries。接著是06年的Beta, RC,遲遲到了07年一月才正式RTM。從這邊您也可以看出,其實並不像我們想的這樣,微軟似乎並沒有盡是趕鴨子上架的推一些新技術,反倒是社群當中早就開始使用並催促微軟在ASP.NET當中加入AJAX技術...

ASP.NET MVC 2正式登場

前言:
可以預期的,面對日漸龐雜的資訊應用需求,以及在全球化競爭下的挑戰,特別是台灣在兩岸三地之間特有的整合需求與技術議題,專案軟體開發中架構的彈性以及後續維護的便利性、和軟體開發的自動化測試機制與TDD(Test-driven development)的導入,都將是後續開發團隊需要面對的重要課題,也是台灣軟體產業提升的一個挑戰。
在這次推出的ASP.NET 4.0中,MVC已然併入並且成為ASP.NET新功能中一個相當重要的部分。在接下來的這篇文章當中,我們會帶領讀者理解ASP.NET MVC Framework,從開發人員需求實務上的觀點,引領您進入ASP.NET MVC的世界,並介紹MVC 2當中重要的新功能…

        ASP.NET MVC是最容易讓.NET上的Web Forms開發人員困惑且帶有些許爭議的主題。

        當然,如同您所知悉的,MVC Pattern並非微軟提出的(其實早在1979年,MVC就已經被定義出來了),在開發工具領域,同樣也不是微軟率先支持這個設計模式,傳統的ASP.NET Web Forms技術更可說是跟MVC水火不容。就Web開發工具的歷史來看,JSP、PHP、甚至ASP都曾經有支援MVC Pattern的套件和產品問世,從設計的架構上來看,在2002年所誕生的ASP.NET更是一丁點都看不出想要支援MVC的影子。
        然而為何在將近10年後的今天,微軟依舊要推出ASP.NET MVC Framework? 為何最後還是選擇支持這個過去不曾考慮過的設計模式? 即便犧牲了ASP.NET Web Forms中所有的控制項支援也在所不惜?

ASP.NET Web Forms 4.0的革新(下)

前言:
在上一期介紹了ASP.NET WebForms的一些功能增強之後,緊接著這一期我們繼續來看在ASP.NET 4.0當中的幾個更重要的WebForms新功能,您會發現即便看似小小的調整,對於開發人員來說,在效能上或開發的便利性上,都有相當大的助益…

 

Session State Compression

 

      在過去ASP.NET 2.0與3.x時代,Session資料有兩種被存放的方式,一是被保留在伺服器端的記憶體中,另一種方式則是存放在SQL Server當中的。不論是哪一種方法,Session資料都是被序列化後才進行暫存的,因此當Session資料量較多時,將會造成儲存媒體的負擔。

      也因此,在ASP.NET 4.0版本當中,開始支援Session State Compression機制,開發人員可以在config檔案中進行如下的設定: 

ASP.NET Web Forms 4.0的革新(上)

前言:
我知道對很多台灣的開發團隊來說,ASP.NET Web Forms依舊是開發人員的最愛,Web Forms技術陪伴我們走過了將近10個年頭,在Web Forms技術下我們累積了許多的經驗和資源,相較於MVC、AJAX、或是還讓人有點搞不清楚的Dynamic Data技術,Web Forms顯然和藹可親多了,面對VS2010的上市,Web Forms也並非完全沒有革新,在本期的這一篇介紹當中,我們將帶領大夥一同來看看,ASP.NET 4.0當中的Web Forms技術…

 

面對快速變革的新技術

 

        一如預期的,微軟最新一代的開發工具Visual Studio 2010在2010年4月份準時的推出了,對於這個世代的開發人員來說,Web應用程式幾乎已經是開發技術的標準。現在再也沒有人質疑Internet存在的價值,沒有人懷疑應用程式執行在網際網路上的這個形式是否合宜,網路泡沫化早就被我們拋在腦後,如今甚至仰賴Internet的雲端技術開始被大家視為理所當然的趨勢。不僅如此,4G WiMax技術也準備開始初試啼聲磨刀霍霍,而象徵著.NET開發技術成熟穩健的4.0版本,伴隨著Visual Studio 2010,在這個時刻悄然問市…

ASP.NET 4.0新功能剖析 – ASP.NET的過去與未來

前言:
2010年的第一刻鐘,我和台灣很多人一樣,在電視機前看著各大新聞台轉播著的全台各地煙火盛況,盯著當時還是全球第一高樓的101上饒富趣味的『Taiwan Up』,和大家一同送走2009年。心裡想著的則是,2010將是微軟開發技術大幅改版的一年,今年迎接著我們的,將會是怎樣的一年呢?

ASP.NET的過去與未來

 

        如果以10年為一個單位來看,從千禧年到現在,又過了整整10個年頭。對於資訊技術的演進來說,10年不可謂不長,特別是身為開發人員的我們,回頭看過去這10年,即便不能說是滄海桑田,卻也是經歷了一段天翻地覆的轉變。

        回頭看.NET技術的誕生,是2002那年。那一年微軟正式的推出了.NET Framework,同時把Visual Studio冠上了.NET這個版本編號。作為力抗Java 2開發平台的重要技術框架,微軟投入了不少的人力、時間、和金錢,企圖和當時看似如日中天的Java及相關Web開發技術正面抗衡。