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下运行
.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,如果有什么写的不对的地方,欢迎批评改正!
目前学习.NET Core 最好的教程 .NET Core 官方教程 ASP.NET Core 官方教程