大家好,最近離職了,利用閑暇時間就搗鼓了一個基於AspNet Core開發框架,分享出來希望能給AspNet Core學者帶來一些幫助,同時也能跟大家一起學習。當然了,由於我的個人技術及經驗的有限,框架還是有很多Bug或不足之處,希望各位大神或園友指出,我會繼續完善的,可以通過這些方式聯系到我qq:891022171、郵箱:lishuyiba@126.com
以下僅代表個人觀點,與本人所在公司無關。
使用到的技術:AspNet Core 2.0 + EF +Auofac+ SqlServer2012 + Bootstrap + Layer + ace admin
根據的理解,目前我知道有三種比較好依賴注入管理的方式
1、 第一種、定義依賴注入接口,只要實現了該接口的都自動注入到IOC容器。
2、 第二種、定義特定的后綴,只要符合該特定后綴都自動注入到IOC容器。
3、 第三種、定義特性類,查找標識有該特性的類並注入到IOC容器。
我的項目使用了第一種,基本思路如下
程序啟動時查找bin下所有的DLL並利用反射查找實現了IDependencyAutofacRegistrar接口的類注入到容器,實現解耦。
說明:
1、由於目前Core 2.0屬於預覽版,啟動web項目時不能打開網頁,可能跟版本有關,等正式版發布后,我再重新發布看看。。。。
2、想要VS2017能編譯通過,要修改環境變量,添加MSBuildSdksPath,並設置 Core2.0 SDK的路徑,下面是我本機的配置。。。 Core2.0 SDK下載地址:https://download.microsoft.com/download/3/7/F/37F1CA21-E5EE-4309-9714-E914703ED05A/dotnet-dev-win-x64.2.0.0-preview1-005977.exe
######################下面先來看看效果圖吧###################
說明:下面這些效果圖我是用Core 1.0 開發的,還有很多API沒有加入。本次分享的項目是用Core2.0開發的,主要是因為Core2.0加入了好多以前.Net4.6的API(查詢API:https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly?view=netcore-2.0),用起來比較方便,但是網站頁面不打開,數據是正常返回的,可能是預覽版的問題(前面有提過),感興趣需要頁面的朋友可以 艾特 問我要。
看 data 數據返回:
先來看看前台效果圖,只是簡單的把輸出顯示出來,效果很丑,別笑哦~ 因為沒時間找好看的模板~~~
再來看看后台效果圖,主題選用: ace admin,列表顯示用Bootstrap ,彈出層用Layer
項目的大體結構
lsyi. Web------------ web項目。
lsyi.Core ------------------框架的核心都封裝在這。
lsyi.Data ----------------數據訪問
lsyi. Autofac --------------------Autofac IOC容器
lsyi. Ninject ---------Ninject IOC容器
lsyi. Models --------------項目模型
lsyi. Services --------------服務
###############好了,下面給大家介紹框架封裝的東西###################
首頁
后台登錄
后台首頁
添加文章頁面
由於時間原因,框架的介紹后面有空我再詳細補上~~
項目地址 在這里https://github.com/lishuyiba/lsyiFramework
參考資料:
http://www.cnblogs.com/flyfish2012/p/3779810.html
http://docs.autofac.org/en/latest/integration/webapi.html
http://www.cnblogs.com/gamehiboy/p/5176618.html
https://docs.microsoft.com/en-us/ef/core/index
http://docs.autofac.org/en/latest/integration/webapi.html