注意:本文所介紹的架構已有新版本,點擊後面連結即可閱讀。
【寫自己的ASP.NET MVC架構】
今天晒晒我的Ajax服務端架構。
自從接觸JQuery-EasyUI後,我對Ajax越來越感興趣了。也慢慢的把UI開發的重心從伺服器端移到用戶端來了。
一般說來,在Asp.net的環境中實現Ajax,要麼是使用Asp.net AJAX架構,要麼就要自己寫些ashx來直接與用戶端互動,當然還有第三方的架構可供選擇。
由於對Asp.net AJAX這個東西嘛,實在沒啥興趣。雖然它可以幫你為一些WebService產生JS的代理類。但是在用戶端的JQuery卻不能發揮它的強大功能。
隨著ashx處理器越寫越多,發現幾乎做的事情是一樣的:從請求中讀取參數,調用C#方法,將結果寫入響應流。由是乎就來有了個想法:“能不能與個通用的,在服務端只要寫好C#方法就可以了?”,在一段時間的研究下,總算是解決了這個問題,也就形成了我自己的Ajax服務端架構。
我之所以稱它為【Ajax服務端架構】,是因為在用戶端我還是認為JQuery是非常強大且非常完美的,而且使用它,還會有一大堆外掛程式可用,實在是太方便了。所以,我只要關注服務端的實現就好了。
本架構的特色 |
服務端中的C#方法或使用者控制項對於JS來說是透明的,就好像可以直接存取一下。 |
本架構的作用意義 |
接受JS的請求,去調用C#方法或者使用者控制項。 至於如何調用方法,如何給方法的參數賦值,最後如何處理傳回值給用戶端,就屬於架構本身的事情了。 所有的這一切,對於用戶端來說,更是透明的。這些透明的實現也就是架構的意義了。
|
我的Ajax服務端架構能做什麼
1. JS直接調用C#方法
2. 將FORM提交給C#方法
3. JS調用頁面方法
4. JS直接請求ascx使用者控制項
很多人在看了我這個架構後,都會懷疑有沒有安全問題。事實上,我在設計時就有考慮過,在使用者手冊,範例程式碼都有體現。
作為一個架構,易用性,安全性,效能,異常處理,都已經過考慮,有興趣的可以下載去看使用者手冊。
如果您想瞭解一些細節話題,請點擊:
安全問題,初始化設定,實現原理
為了能讓您更好了瞭解這個架構的使用效果,請點擊:
我的通用資料訪問層及Ajax服務端架構的綜合樣本,展示與下載
擷取樣本及文檔
點擊此處進入樣本展示及下載頁面
解開壓縮包後,您將能看到以下檔案:
"db"目錄包含了資料庫檔案和指令碼,您隨便使用哪個都可以。
"document"目錄則API文檔和使用者手冊。
"My-SqlViewer"包含一個小工具,純AJAX的,具體能做什麼,請參考"My-SqlViewer\Readme.rtf"
"TestAjaxPerformance",我的服務端架構與MVC的效能測試項目。
"TestDALPerformance",我的資料訪問層與ORM的效能測試項目。
"Tools",包含一些用於示範的協助工具輔助,有興趣可以自己去看看,說不定能發現有您用得上的工具。
"WebSite",用於示範我的所有組件的網站項目。
點擊此處進入樣本展示及下載頁面