ASP.NET Aries 開源開發框架:開發指南(一)

前言:

上週開源了Aries開發框架後,好多朋友都Download了源碼,在運行過程裏,有一些共性的問題會問到。html

因此本篇打算寫一下簡單的開發指南,照顧一下不是太看的懂源碼的同窗,同時也會講解一下框架原理。前端

開源的文章或源碼獲取地址見上一篇文章:開源:ASP.NET Aries 開發框架web

 

關於框架:

首先,這是一套開發框架,它類同於WebForm、MVC、.NET Core。ajax

相比webform,mvc,.NET Core 它簡化了後端不少東西,它也增強了前端一些功能,默認集成的功能和界面,使得框架更傾向某種場景的開發。 sql

在.NET的世界裏,開發框架的選擇,不該該只有微軟系列,還能夠有第三方系列。數據庫

框架運行指南:

1:Download 源碼:

見上篇文章結尾處:http://www.cnblogs.com/cyq1162/p/5487796.html後端

2:建立數據庫: 

源碼下載後其中一個文件夾:Aries.DataBase緩存

能夠選擇Mssql或Mysql文件夾下的:數據表腳本(執行建立表),數據腳本(執行建立數據)。mvc

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:InvokeLogic會根據規則調用相應的Controller,處理流程以下:

A:若是有類名和文件名同名,就調用類名.cs

B:若是不存在A,則看有沒和html所在文件夾名同名的,若是有,就調用文件夾名.cs(就像SysAdmin系統管理的請求都在SysAdminController處理)

C:若是B也不存在,則調用DefaultController.cs

全部的Controller入口,都繼承自Aries.Core.Controller。

 

更多教程https://www.cnblogs.com/cyq1162/category/828163.html

 

結束:

本篇先介紹到這裏,其它內容,另外再寫文分享,謝謝各位支持點讚的朋友,還有各位給我打賞讓我買水喝的朋友。 

做爲.NET戰線上的十年的一名老戰士,衷心但願.NET的明天會更好,爲了這份更好,貢獻本身目前爲止的最優做品。

相關文章
相關標籤/搜索