ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)

时间:2023-03-08 16:29:18

主要更新:

1:增加子目录部署支持。

2:增加Taurus.MVC支持。

3:优化及Bug修复。

1:增加子目录部署支持:

其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Aries开发的速度。

不过最新有用户反馈,需要部署在子目录下,所以就顺势把子目录部署这块功能给增加上了。

2:增加Taurus.MVC支持:

Aries  2.0的目录结构是这样的:原来的Aries.Logic下的Handler变更到Aries.Controllers下,其它变化不大。

ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)

在我整个设计的过程是这样的:

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,没想到折腾回去(为了你们,忍了)。

几个简单的相关配置:

ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)

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就怎么使用。

结尾:

由于个人开源作品很多,要维护升级,同时又要构思新功能,要花的精力很多。

所以若遇到问题,请先用源码调试,定位到问题,再反馈到群里,这样能省我点时间。

最后,感谢大伙长期以往的支持!