ASP.NET Aries 开源开发框架:开发指南(一)

简介:

前言:

上周开源了Aries开发框架后,好多朋友都Download了源码,在运行过程里,有一些共性的问题会问到。

所以本篇打算写一下简单的开发指南,照顾一下不是太看的懂源码的同学,同时也会讲解一下框架原理。

开源的文章或源码获取地址见上一篇文章:开源:ASP.NET Aries 开发框架

 

关于框架:

首先,这是一套开发框架,它类同于WebForm、MVC、.NET Core。

相比webform,mvc,.NET Core 它简化了后端很多东西,它也加强了前端一些功能,默认集成的功能和界面,使得框架更倾向某种场景的开发。 

在.NET的世界里,开发框架的选择,不应该只有微软系列,还可以有第三方系列。

框架运行指南:

1:Download 源码:

见上篇文章结尾处:http://www.cnblogs.com/cyq1162/p/5487796.html

2:创建数据库: 

源码下载后其中一个文件夹:Aries.DataBase

可以选择Mssql或Mysql文件夹下的:数据表脚本(执行创建表),数据脚本(执行创建数据)。

3:配置Web.config:

配置框架初始数据库链接后,执行F5,如果点击登陆提示“please check web.config's httpmoudle!”

login.html中的内容:

需要把关于httpmodule中关于Aries.Core的配置的注释打开(或关闭)


然后运行,就可以了。 

 

框架开发指南:

1:关于数据库:

开发: 

框架有初始的数据库:其中有一个:Sys_UserInfo 这个表是可以修改扩展用户信息的。

然后你有两种选择:

A:在原有的数据库里建表,开展业务(这时只有一个数据库)。

B:创建新的数据库,开展业务(这时有N个数据库,需要在Web.config添加对应的数据库链接语句,只有一个注意,Key的命名为:数据库名称Conn)。 

比如你有一个数据库名叫:MyDB,那么你就添加一条<add name="MyDBConn" connectionString="..." />

设计原理:

关于数据库设计这一块,是支持多数据库,同时跨各种数据库类型的,可以各种混搭,只要不存在表名相同,在使用过程中就不用管它属于哪个数据库。

设计原来是这样的:搜集数据库链接(以Conn结尾的)=》搜索所有数据库表及对应的数据库。所以反之根据表名就可以找到对应的库。 

如果遇到不同数据库有相同的表名:则需要在前端使用时用:数据库名.表名。(因为按查找规则只会找到第一个出现的表名对应的库)


2:关于增删改查导入导出:

开发:

1:如果你是单表:通过配置菜单就可以搞定了。

2:如果你要呈现的是复杂的多表联合,你有两种选择: 

A:在数据库里创建视图,然后把它当单表一样通过配置菜单就可以搞定了。

B:将视图语句,通过文件形式放在App_Data目录下的SQLCode目录下(按指定格式)即可,然后配置菜单就可以搞定了。

关于配置表头:列头里右键出来的(有人不知道哪出来)。 

配置表头里集成了很多常见功能,动动手就可以看出效果了,如把搜索项打勾,就会出来搜索条件框。  

视图语句放在文件的,通过点击查看脚本时,可以在线编辑。

3:关于格式化:

A:数据库里存档的是0,1,2这种数字,呈现是中文翻译,所以有配置表,在配置表里增加配置项后,在格式化里填写#配置键 就可以了。

B:如果有些数据是动态的,单独有表存放的,就需要写SQL语句放在App_Data\SQLCode目录下的Sql_Combobox.sql文件里(按约定格式),然后把名字配上去。

C:这些弄好的名字,除了格式化,还可以使用在下拉框:configkey取的是配置表的,objName取的是数据库语句的。

<input configkey="性别“.../>

<input objName="C_SYS_Role" .../>

这样就会自动格式好下拉框。

设计原理:

对于这一块的东西,前端发起的各种请求:ajax.html?sys_method=xxxx&sys_objname=xxxx 到最后都会定位到Core项目里的AjaxBase.cs处理(这里集成了核心的操作)

对于ajax.html这个文件是不存在的,只是一个虚拟地址,作为标识判断条件而已,在Core项目里UrlRewrite里相关的判断条件。

一个页面:通常会发起四个请求:

 

GetInitConfig:返回ui(子应用程序部署时的目录),actionkeys(当前页面的功能权限),mid(菜单ID)。

GetKeyValueConfig:返回配置表的数据(后台会有缓存),用于翻译和绑定下拉框。

GetHeader:返回列头信息(第一次不存在时,会读数据库的元数据,创建生成)

GetList:返回表的数据。

如果界面有对于自定义语句的的下拉数据绑定,则会多一个请求:

GetCombobox是动态发起请求,获取自定义SQL语句的数据,然后绑定下拉框数据。

 

4:关于请求的处理流程:

1:一个Ajax请求从页发起后:AR.Utility.Ajax.Post之后,所有的请求地址都是ajax.html。
2:然后到了UrlRewirte.cs,判断是ajax.html,就调用InvokeLogic
3:然后到了Aries.Logic项目里Handler文件夹下的类,具体调用哪个类,处理流程如下:

A:如果有类名和文件名同名,就调用类名.cs

B:如果不存在A,则看有没和html所在文件夹名同名的,如果有,就调用文件夹名.cs(就像SysAdmin系统管理的请求都在SysAdminHandler处理)

C:如果B也不存在,则调用DefaultHandler.cs

所有的Handler入口,都继承自AjaxBase。

结束:

本篇先介绍到这里,其它内容,另外再写文分享,谢谢各位支持点赞的朋友,还有各位给我打赏让我买水喝的朋友。 

作为.NET战线上的十年的一名老战士,衷心希望.NET的明天会更好,为了这份更好,贡献自己目前为止的最优作品。


本文原创发表于博客园,作者为路过秋天,原文链接:http://www.cnblogs.com/cyq1162/p/5489604.html

相关文章
|
16天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
1月前
|
SQL 开发框架 数据可视化
企业应用开发中.NET EF常用哪种模式?
企业应用开发中.NET EF常用哪种模式?
|
2月前
|
开发框架 JavaScript 前端开发
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
|
10天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
1月前
|
开发框架 网络协议 .NET
深入.net框架
深入.net框架
11 0
|
1月前
|
数据安全/隐私保护 Windows
.net三层架构开发步骤
.net三层架构开发步骤
13 0
|
1月前
深入.net平台的分层开发
深入.net平台的分层开发
58 0
|
2月前
|
开发框架 前端开发 .NET
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!
为了便于大家查找,特将之前开发的.Net Core相关的五大案例整理成文,共计440页,32w字,免费提供给大家,文章底部有PDF下载链接。
33 1
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!
|
2月前
|
算法 BI API
C#/.NET/.NET Core优秀项目和框架2024年1月简报
C#/.NET/.NET Core优秀项目和框架2024年1月简报
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
41 0

相关实验场景

更多