最近asp.net 2.0實在沒有什么新消息,也沒什么驚人動態,在沒有新聞的情況下,看來祭司只好自己創造新聞啰,今天要談的是asp.net 2.0的web part framework。
web part framework就是指web組件,為什么要談它呢?主要是有個小故事,有個讀者問我他想用web part,但可不可以不要用sql server資料庫?!他問的當時我小楞了一下,因為asp.net 2.0的東西太多了,多到我也不可能記住所有的細節,于是我調出第二十章web part framework,我重新拉回web part framework架構圖運作的記憶,我一分鐘內當下告訴他~不可能!為何祭司是這樣子篤定?請來看看祭司書中是如何解說web part framework架構。
首先來看web組件的意義與作用:
web組件英文原文是“web parts”,這個名詞乍看之下真是令人一頭霧水,沒錯!真的無法令人直覺聯想到底是什么東西,祭司先用白話解譯一下觀念,其實web組件就是有一堆預先定義好的〝網頁零件〞(我覺得part翻成零件比較貼切),而透過這些〝網頁零件〞讓使用者可以拼拼湊湊修改調整成他喜歡的網頁樣式與layout配置(感覺有點像樂高積木可以自由拼湊組合),不像傳統網頁內容設計好之后就是固定的,固定就是固定!管你使用者是天皇老子或總經理看到的內容跟我們小職員看到的是一模一樣,好聽點是一律平等,難聽點是沒人性,完全抹煞掉不同身份、性別、星座使用者所可能會喜歡的外觀樣式偏好;而有了web組件使用者可以結合個人化機制來達成自行設定外觀或樣式等等風格,使用者自訂的web組件內容會被儲存在個人化機制之中,即使關閉瀏覽器離開網站,下次登入時系統會自動從個人化機制中調出您上次所定義的風格樣式,并套用在您登入的網頁,如何?很有意思吧!
web組件架構:
在進一步解釋web組件架構前,先來看下面web組件架構圖。
web組件架構圖
從上面的web組件架構圖中可以看到共分為三層:(1)最底層是個人化機制(2)中間層是ui結構化元件(3)最上層是web組件ui控制項,最上層會依賴中間層,而中間層又依賴最底層,這是什么意思呢?因為它們必須互相搭配才能運作,說明如下:
(1)個人化機制(最底層)
因為web組件既然是讓使用者能夠自訂編輯其個人偏好的網頁外觀、樣式或組成,當然要有一個機制可以針對使用者帳號來記憶其對web組件所做的種種設定與變更,故“個人化機制”扮演的就是這個角色;而使用者下次登入時,web組件系統也會自動從個人化中讀出相關資料與設定,再一一還原成使用者上一次所設定的網頁外觀設定。
(2)ui結構化元件(中間層)
ui結構元件依賴于個人化,并提供所有web組件控制項所需的核心結構和服務。ui結構化元件主要包含兩大類的東西,一是webpartmanager控制項,另一個是zone,而每個組件頁面都一定必須要有一個webpartmanager控制項,以便管理與協調在此頁面中所有的web組件控制項,zone則是容納實際的web組件控制項,并負責對web組件控制項做layout配置,及提供標題、外觀、樣式給web組件控制項。
(3)web組件ui控制項(最上層)
web組件ui控制項是實際呈現及作用的控制項,其實它不過就是幾種類型的〝伺服端的控制項〞,包括了:web組件控制項、asp.net伺服器控制項web組件控制項、使用者自訂控制項與自訂伺服器控制項等等,而這些控制項必須放在相對應的zone區域容器之中以便受到管理,所以這層的控制項又依賴中間層的理由。
所以以此架構圖所解說,web part必須依賴最底層是personalization個人化機制,而個人化又一定要資料庫,所以我一分鐘內很清楚地回答他不可能!web part還是需要資料庫的。
注:因為asp.net 2.0東西真的太多,且祭司記性不太好,所以真的需要一本好的技術手冊供我參考,而供自己參考的技術手冊一來品質要好,二來深廣度要夠,三來所有知識的秘密都必須寫出來,總沒有人在防自己的吧...哈哈,所以祭司一直跟你們說這本書不但是供你們參考,也是祭司本人的重要參考,真的不是蓋你們的啦,也不唬爛的,我已經真的常常在參考了!
新聞熱點
疑難解答
圖片精選