一.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下運行
.net core的環境配置請移步 https://www.microsoft.com/net/core#windowsvs2017
下面進入正題!
三.啟動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,如果有什么寫的不對的地方,歡迎批評改正!