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,如果有什么写的不对的地方,欢迎批评改正!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android干货园

Android Studio 非常好用的几款插件,好用到爆

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/49...

861
来自专栏zcqshine's blog

Crontab安装以及以些常见问题

3694
来自专栏Django中文社区

用 Windows 跟着官方教程学 Docker 之一步一坑记

据说 Docker 可以提供一种更加现代化的部署方式,于是乎想趁着一个空闲周末来好好撸一遍 Dcoker 入门文档。之前花了一个小时通读了一遍 Docker 的...

4388
来自专栏IMWeb前端团队

AppCan——HTMl5移动开发应用平台

AppCan是HTMl5移动开发应用平台,支持跨平台,可以简单、快速、高效开发移动应用。 倡导Hybrid App开发。 为HTML5开发提供底层Native交...

2796
来自专栏PaddlePaddle

如何贡献代码

如何贡献代码 我们真诚地感谢您的贡献,欢迎通过 GitHub 的 fork 和 pull request 流程来提交代码。 【代码要求】 1、代码注释请遵守 D...

2898
来自专栏生信技能树

perl模块安装大全

今天又有小伙伴微信问我perl模块安装的问题,因为ENSEMBL发布的大多数数据库以及软件都是基于perl的,尤其是分量很重的VEP,所以即使你再如何如何的讨厌...

3577
来自专栏CIT极客

【奇淫巧技】各种冷门的实用技巧成就技术帝!

3808
来自专栏黑白安全

手机验证码常见漏洞 总结 任意用户密码重置

  手机验证码在web应用中得到越来越多的应用,通常在用户登陆,用户注册,密码重置等业务模块用手机验证码进行身份验证。针对手机验证码可能存在的问题,收集了一些手...

902
来自专栏小樱的经验随笔

基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案

基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案           两个月前做C++课设的时候,电脑编译器编译结果出现了中文乱码,寻求...

2463
来自专栏丑胖侠

maven配置文件不一致导致构建失败

问题 在使用maven构建项目时出现一个神奇的问题。通过Intellij IDEA的Maven Projects中进行构建,没问题,能够成功打包项目。 可是...

1817

扫码关注云+社区