主要更新:
1:增加子目錄部署支持。
2:增加Taurus.MVC支持。
3:優化及Bug修復。
1:增加子目錄部署支持:
其實在重寫Aries框架的時候,我是去掉了目錄部署功能的,主要是為了加快Aries開發的速度。
不過最新有用戶反饋,需要部署在子目錄下,所以就順勢把子目錄部署這塊功能給增加上了。
2:增加Taurus.MVC支持:
Aries 2.0的目錄結構是這樣的:原來的Aries.Logic下的Handler變更到Aries.Controllers下,其它變化不大。
在我整個設計的過程是這樣的:
1:把Aries改造成MVC:
一開始只有:AjaxBase和LogicBase和IBase,改完就變成了:
AjaxController,AjaxLogicBase,IAjaxBase
ViewController,ViewLogicBase,IViewBase。
在改造完后,我不斷反復的思考着用戶體驗和用戶的學習成本:
思考良久,感覺容易迷惑用戶,有點破壞了Aries的純潔性。
因此,想着還是把MVC獨立出來吧。
2:Taurus.MVC 發布:
由於MVC功能已經完成,只是重寫改名,獨立發布,所以經過了幾天的努力,不斷的簡化,優化流程后:
終於發布並開源了Taurus.MVC:http://www.cnblogs.com/cyq1162/p/5739048.html
整個框架的核心,表面上是Taurus.Core,實際上是CYQ.Data(當時花時間重點改造的是CYQ.Data.Xml名稱空間下的類)
整個框架創新的地方:Taurus.Core只是簡化了路由和尋找控制器(降低學習了成本),創新還是在模板引擎上,包括模板頁的引用也創出了新思維。
所以會有個別不明真相的人,容易自我陶醉。
在發布完Taurus.MVC后,看着Aries,保留MVC?或是?
一想起要同時維護兩份幾乎一樣的但命名不同代碼,心就好累,必須動,但怎么動?
3:Aries去掉Taurus.MVC部分,改造成兼容模式:
又想保留MVC,又要保持Aries的純潔性,思考了很久,終於找到一個兩全其美的方法:
在UrlRewrite和InvokeLogic預先處理Taurus.MVC的路由和尋找Controller。
之后只要引用Taurus.Core.dll,即可。
3:優化及Bug:
1:CYQ.Data的升級:
最新CYQ.Data的版本升級頻率有點高,主要是:自動緩存+XHtmlAction 改動有點大,目前已穩定下來。
但只要框架還在維護升級更新,穩定便是相對的。
2:Aries.js的相關腳本升級:
做了一些小優化,以及增加對搜索框的尋找功能。
SVN 源碼地址遷移:
1:原來Aries在code.taobao.org的SVN已關閉,目前已遷往GitHub。
2:GitHub上的地址為:https://github.com/cyq1162/Aries.git
3:這里吐槽一下github不爽的地方:
1:網速(幾K的上傳速度,坑了我太多時間)
2:不能傳空目錄(一不小心遇到空目錄,就得重新重頭上傳,之前沒注意,被坑了好多回)
3:一次性上傳不能過多(網絡容易斷或沒反應,又得重頭開始)
所以,只能分批次,幾個幾個的小目錄上傳。
其實最早是發布在Github的,因上傳的速度太坑,換到code.taobao.org,沒想到折騰回去(為了你們,忍了)。
幾個簡單的相關配置:
1:部署子目錄:
改一下UI對應的配置即可。
2:取消或增加需要登陸的權限目錄:
改一下CheckTokenPath對應的配置即可,多個目錄用“,”號分隔。
PS:代碼里用的是路徑檢測是:包含Contains,所以不管層級,這點要注意。
3:自動緩存的設置:
如果你的系統,如果除了CYQ.Data,還有使用其它方式操作數據庫,你應該關閉自動緩存:將IsAotuCache配置為false,默認為true。
Aries 2.0 使用Taurus.MVC的步驟:
1:Aries.Controllers項目中添加Taurus.Core.dll的引用:
引用的方式:
A:下載Taurus.MVC的源碼,找到Taurus.Core.dll,添加引用。
B:Nuget上搜Taurus.MVC,添加引用。
2:在Web.UI項目下建議Views文件夾
如果你想運行Demo,你可以將Taurus.MVC下的Views目錄Copy過去。
3:在Aires.Controllers項目中添加Controller
如果你想運行Demo,你可以將Taurus.MVC下的Controllers項目下的目錄Copy過去。
PS注意點:用Taurus.MVC時,注意名稱空間:
繼承的基類是Taurus.Core.Controller。
簡而言之,就是普通項目怎么使用Taurus.MVC,Aries就怎么使用。
結尾:
由於個人開源作品很多,要維護升級,同時又要構思新功能,要花的精力很多。
所以若遇到問題,請先用源碼調試,定位到問題,再反饋到群里,這樣能省我點時間。
最后,感謝大伙長期以往的支持!