ABP從入門到精通(1):aspnet-zero-core項目啟動及各項目源碼說明
一.ABP的簡單介紹
ABP是「ASP.NET Boilerplate Project (ASP.NET樣板項目)」的簡稱。
ASP.NET Boilerplate是一個用最佳實踐和流行技術開發現代WEB應用程序的新起點,它旨在成為一個通用的WEB應用程序框架和項目模板。
ASP.NET Boilerplate 基於DDD的經典分層架構思想,實現了眾多DDD的概念(但沒有實現所有DDD的概念)。
二.ASP.NET ZERO和ABP的關係
ASP.NET ZERO 是 利用ABP框架搭建的模板項目,它會提供預建的頁面及強大的基礎設施架構。利用它提供的基礎框架代碼能讓你快速的開發你的應用層。
準備使用ABP,經過幾天觀看園友的博文的學習打算試一試深淺
IDE:Visual Studio 2017
項目版本:aspnet-zero-core 4.1.1
今天中午已經測試了,aspnet-zero-core 4.1.1可以在centos 7.2下運行
下面進入正題!
三.啟動ASP.NET ZERO
1.使用VS2017打開項目,等待自動還原程序包結束
2.生成項目,確保項目全部生成成功
3.生成資料庫
(1).將項目「MyCompanyName.AbpZeroTemplate.EntityFrameworkCore」設為啟動項目
(2).打開 工具->Nuget包管理器->程序包管理器控制台,在下拉列表中選中上面的項目
(3).請確保Sql Server資料庫正常開啟,在 程序包管理器控制台 執行命令「Update-Database」(命令執行可能會有點慢,耐心等待)
命令執行完成後,會生成一個名為AbpZeroTemplateDb的資料庫
(3).將項目 「MyCompanyName.AbpZeroTemplate.Web.Mvc」 設為啟動項目,可以直接按F5啟動項目,也可使用命令「dotnet run」啟動項目
啟動成功如下:
輸入地址 http://localhost:5000/ 即可訪問.
默認用戶名 admin 密碼 123qwe
至此 asp.net zero core項目已經成功啟動
四.各項目說明
項目依賴關係圖
1.MyCompanyName.AbpZeroTemplate.Core 項目核心,從上圖就可以看出,在DDD分層中,它應該作為領域層
2.MyCompanyName.AbpZeroTemplate.Application 應用服務層,包含各個應用邏輯
3.MyCompanyName.AbpZeroTemplate.EntityFrameworkCore 基於 EntityFrameworkCore 的封裝,提供了資料庫連接支持,倉儲 基礎設施層
4.MyCompanyName.AbpZeroTemplate.Migrator 資料庫遷移工具(關於資料庫遷移,後面的博文會講),用於執行遷移可以再生產環境中使用
5.MyCompanyName.AbpZeroTemplate.Web.Core 展現層核心,封裝了一些展現層需要用到的工具
6.MyCompanyName.AbpZeroTemplate.Web.Host ABP的動態webapi+swagger 行
7.MyCompanyName.AbpZeroTemplate.Web.Public asp.net zero 前台頁面
8.MyCompanyName.AbpZeroTemplate.Web.MVC 後台頁面
如若需要部署到IIS,需要安裝Windows Server Hosting (https://www.microsoft.com/net/download/core#/runtime)
安裝成功在iis->模塊 里會看到
發布項目
新建網站,然後設置 應用程序池
如果報錯請到事件查看器查看錯誤,或者查看 App_Data/Logs/Logs.txt
這裡貼一個我遇到的錯誤:無法連接資料庫,我自己測試的時候發現連接資料庫異常了,使用的身份是iis的用戶身份,肯定無法用Windows身份認證(asp.net zero默認)登錄資料庫,所以直接改為賬號密碼登錄,就成功了。
我也是初次接觸ABP,如果有什麼寫的不對的地方,歡迎批評改正!
文章來自博客園
交流群:345648424
「勤工儉學計劃」,給你一個真正0元學習IT技術的機會!
http://www.ujiuye.com/zt/qgjx/?wt.bd=fq37300j
找工作太難?不是你不行,我們來幫你!
http://www.ujiuye.com/zt/jyfc/?wt.bd=fq37300j
※富文本編輯器UEditor自定義工具欄(基礎配置與字體、背景色、行間距、超鏈接實現)
※優就業學員起薪大揭底——你行,你上呀!
※怎樣解決Python從入門到進階難有進步的問題?
※Vue.js 1.x 和 2.x 實例的生命周期
TAG:IT優就業 |