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 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

微软Office曝存在17年之久的“全版本影响”老洞,无需用户交互实现恶意程序远程植入

当人们仍在着急处理“没有补丁”的微软MS Office内置DDE功能威胁时,有研究人员又发现了Office的另一个严重漏洞,攻击者可以利用该漏洞,无需受害者用户...

2128
来自专栏从零开始学自动化测试

Appium+python自动化9-SDK Manager

前言 SDK Manager到有哪些东西是必须安装的呢? 一、SDK Manager 1.双击打开SDK Manager界面 ? 2.Tools里面前三个是必须...

3126
来自专栏程序你好

SignalR介绍简单示例教程入门版

1694
来自专栏.NET后端开发

ADO.NET入门教程(二)了解.NET数据提供程序

摘要       在上一篇文章《你必须知道的ADO.NET(一) 初识ADO.NET》中,我们知道ADO.NET的两大核心组件分别是Data Provider和...

43211
来自专栏小狼的世界

几款Linux下的日志书写工具

最近将工作环境切换到了Ubuntu 10.04 下,非常怀念原来的 Liver Writer,于是Google了一下,找找看Linux下是否有同样出色的离线博客...

862
来自专栏静晴轩

Mac必备软件集之Brew

Brew~安装开发工具链的神器:brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的 安装/查询/卸载 软件, 只需要一个命令...

4693
来自专栏林德熙的博客

cant found Microsoft.VSSDK.BuildTools.15.0.26201

可以打开 EncodingNormalior\packages 文件夹,删除所有的文件,然后重新编译。

831
来自专栏施炯的IoT开发专栏

Windows 10 IoT Serials 3 - Windows 10 IoT Core Ardunio Wiring Mode

    Maker社区和智能硬件的朋友一定知道Arduino,很多3D打印机都是用它做的。为了迎合这一大块市场,微软在基于Intel Galileo的Windo...

1898
来自专栏张善友的专栏

MSDN Magazine 4月份asp.net文章

执行 Web 标准以便更加易于访问:       本文讨论了 Web 标准如此重要的原因,并给出了一些可用于创建符合标准的网站的技术。采用这些标准可能会有一定...

2019
来自专栏FreeBuf

Office高级威胁漏洞在野利用分析

高级威胁漏洞背景 在高级威胁攻击中,黑客远程投递入侵客户端最喜欢的漏洞是office文档漏洞,就在刚刚结束不久的黑帽子大会上,最佳客户端安全漏洞奖颁给了CVE-...

3497

扫码关注云+社区

领取腾讯云代金券