Aries 2.0 发布
2018-09-06 11:30
Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub) 主要更新:
1:增加子目录部署支持。
2:增加Taurus.MVC支持。
3:优化及Bug修复。
1:增加子目录部署支持:
其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Aries开发的速度。
不过最新有用户反馈,需要部署在子目录下,所以就顺势把子目录部署这块功能给增加上了。
2:增加Taurus.MVC支持:
Aries 2.0的目录结构是这样的:原来的Aries.Logic下的Handler变更到trollers下,其它变化不大。
在我整个设计的过程是这样的:
1:把Aries改造成MVC:
一开始只有:AjaxBase和LogicBase和IBase,改完就变成了:
AjaxController,AjaxLogicBase,IAjaxBase
ViewController,ViewLogicBase,IViewBase。
在改造完后,我不断反复的思考着用户体验和用户的学习成本:
思考良久,感觉容易迷惑用户,有点破坏了Aries的纯洁性。
因此,想着还是把MVC独立出来吧。
2:Taurus.MVC 发布:
由于MVC功能已经完成,只是重写改名,独立发布,所以经过了几天的努力,不断的简化,优化流程后:
终于发布并开源了Taurus.MVC:
整个框架的核心,表面上是e,实际上是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在SVN已关闭,目前已迁往GitHub。
2:GitHub上的地址为:
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:trollers项目中添加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就怎么使用。
结尾:
由于个人开源作品很多,要维护升级,同时又要构思新功能,要花的精力很多。
所以若遇到问题,请先用源码调试,定位到问题,再反馈到群里,这样能省我点时间。
最后,感谢大伙长期以往的支持!