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默认)登录数据库,所以直接改为账号密码登录,就成功了。

原文地址:http://www.cnblogs.com/stulzq/p/7237153.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[编程入门]宏定义的练习:输入两个整数,求他们相除的余数。用带参的宏来实现,编程序。

#include<bits/stdc.h> #define N a%b; using namespace std;int main() {int a,b;cin>>a>>b;cout<<N;return 0; }

jzoj3518-进化序列(evolve)【位运算】

正题 题目大意 序列aaa 求有多少个数(x,y)(x,y)(x,y)对满足: x<yx<yx<y和axorax1orax2...oray<ma_x\ or\ a_{x1}\ or\ a_{x2}...or\ a_y<max​ or ax1​ or ax2​...or ay​<m 解题思路 首先对于每个y&#xff0c;x满足单调性。 如果(x,y)(x,y)(x,y)可以那…

【Python】Scrapy的安装与使用

scrapy的安装 不得姐网站 直接用命令 pip install scrapy 网络可能较慢&#xff0c;等等就好 另外windows环境下你还需要安装win32 我之前就是因为没有安装这个库&#xff0c;白忙活了一天&#xff0c;一直都是报错状态 pip install pypiwin32 scrapy的使用 cd到卓面或者其他…

[译]ASP.NET Core 2.0 带初始参数的中间件

问题 如何在ASP.NET Core 2.0向中间件传入初始参数&#xff1f; 答案 在一个空项目中&#xff0c;创建一个POCO&#xff08;Plain Old CLR Object&#xff09;来保存中间件所需的参数&#xff1a; public class GreetingOptions { public string GreetAt { get; set; } …

【LSB】图片隐写

今天接触到个比较好玩的项目 用的是纯htmljs可以将图片里附着文本或图片 经过网页加工就可以将一些隐秘的信息传入到图片里面去了。 这个功能类似于用一种笔在纸上写字&#xff0c;这种字在正常情况下看不出来&#xff0c;而经过泼水之后就会有字的显现。 这种隐写功能也具…

[编程入门]宏定义之闰年判断:给年份year,定义一个宏,以判别该年份是否闰年。提示:宏名可以定义为LEAP_YEAR,形参为y,既定义宏的形式为 #define LEAP_YEAR(y) (读者设计

#include<bits/stdc.h> #define LEAP_YEAR(y) ((y%40&&y%100!0)||(y%4000)?"L":"N") using namespace std;int main() {int year;cin>>year;cout<<LEAP_YEAR(year);return 0; }

jzoj5223-B【矩阵乘法】

正题 题目大意 3∗33*33∗3的矩阵上每个格子都有机器人&#xff0c;每次可以向相邻格子移动或不动(一个格子上可以有多个机器人)&#xff0c;求移动nnn次后每个格子上都有机器人的移动方案数。 解题思路 用矩阵乘法计算出每个格子的机器人移动到每个格子的方案总数。 在枚举最…

框架学习与探究之AOP--Castle DynamicProxy

前言 先说一点废话&#xff0c;在此之前博主也在早期就接触了或者看了些许AOP相关的文章&#xff0c;然后再去做了一些相关的实验&#xff0c;但是始终没有将AOP内化到自己的内功心法当中去&#xff0c;包括从概念还是应用环境&#xff0c;以及当前生态当中的AOP工具等等&#…

【Css】基础属性(一)

给超过div的文本添加滑轮效果&#xff08;必须先对其高度进行设置&#xff09; overflow:auto; 给按钮添加圆润效果 border-radius: 20px; 设置组件居中&#xff08;文本居中&#xff09;&#xff0c;在组件外加div&#xff0c;给div加如下属性 text-align:center; 上文不奏效&…

jzoj100042-保留道路【最小生成树,图论】

正题 题目大意 一张无向图&#xff0c;求剩下一些边使图联通且wG∗max{gVi}wS∗max{sVi}wG*max\{g_{V_i}\}wS*max\{s_{V_i}\}wG∗max{gVi​​}wS∗max{sVi​​}最小 VVV表示选的边集 解题思路 我们可以枚举max{si}max\{s_i\}max{si​}的值&#xff0c;然后用ggg跑最小生成树。…

C++描述杭电OJ 2000. ASCII码排序 ||

C描述杭电OJ 2000. ASCII码排序 || Problem Description 输入三个字符后&#xff0c;按各字符的ASCII码从小到大的顺序输出这三个字符。 Input 输入数据有多组&#xff0c;每组占一行&#xff0c;有三个字符组成&#xff0c;之间无空格。 Output 对于每组输入数据&#xf…

【LSB】图片隐写文档大纲

第一章 绪论 1.1研究背景 1.2研究意义 1.3主要工作 第二章 图片隐写和LSB算法 2.1关于图片隐写术 2.2LSB算法 第三章 系统设计与实现 3.1图像的加载 3.2文本的预编码 3.3文字编码 3.4图片编码 第四章 功能测试及线上部署 4.1功能测试 4.2线上部署 第五章 总结及展望 5.1总结…

C++描述杭电OJ 2005.第几天? ||

C描述杭电OJ 2005.第几天&#xff1f;|| Problem Description 给定一个日期&#xff0c;输出这个日期是该年的第几天。 Input 输入数据有多组&#xff0c;每组占一行&#xff0c;数据格式为YYYY/MM/DD组成&#xff0c;具体参见sample input ,另外&#xff0c;可以向你确保所…

.NET下使用HTTP请求的正确姿势

一、前言 去年9月份的时候我看到过外国朋友关于.NET Framework下HttpClient缺陷的分析后对HttpClient有了一定的了解。前几日也有园友写了一篇关于HttpClient的分析文章, 于是我想深入探索一下在.NET下使用HTTP请求的正确姿势。姿势不是越多越好, 而在于精不精。如果不深入了解…

jzoj5123-diyiti【统计,容斥】

正题 题目大意 n个木棒&#xff0c;求用6个木棒组成正方形的方案总数。 解题思路 这个正方形边有的木棒数两种可能3,1,1,13,1,1,13,1,1,1和2,2,1,12,2,1,12,2,1,1。 第一种可以枚举111&#xff0c;然后用fxf_xfx​表示两根木棒和为x的方案数&#xff0c;用fxf_xfx​加容斥可…

【LSB】图片隐写主体函数

关于图像隐写 图像隐写是一种有效的方式来交换隐藏的消息&#xff0c;而不会引起怀疑。它的工作原理是用lbs算法将消息编码为图像像素的颜色值。 这种功能基于浏览器的最新特性比如File API和Canvas&#xff0c;如果你的浏览器不支持该该功能&#xff0c;请下载最新的浏览器。…

C++描述杭电OJ 2012. 素数判定 ||

C描述杭电OJ 2012. 素数判定 || Problem Description 对于表达式n^2n41&#xff0c;当n在&#xff08;x,y&#xff09;范围内取整数值时&#xff08;包括x,y&#xff09;(-39<x<y<50)&#xff0c;判定该表达式的值是否都为素数。 Input 输入数据有多组&#xff0c;…

欢乐纪中某B组赛【2018.12.8】

前言 题目有毒系列。反正我觉得第1题最难&#xff0c;3,4题简单些。 跟jz大佬做题 成绩 RankRankRank是有算别人的 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCCDDD111meselfmeselfmeself280280280000808080100100100100100100121212xjqxjqxjq1001001000000001001…

【Ajax】创建并封装

创建 <!DOCTYPE html> <html> <head><title></title><style>#button1{background:skyblue;border-radius:20px;width:100px;}</style> </head> <body> <button id"button1">按钮</button> <i…

C++描述杭电OJ 2016. 数据的交换输出 ||

C描述杭电OJ 2016. 数据的交换输出 || Problem Description 输入n(n<100)个数&#xff0c;找出其中最小的数&#xff0c;将它与最前面的数交换后输出这些数。 Input 输入数据有多组&#xff0c;每组占一行&#xff0c;每行的开始是一个整数n&#xff0c;表示这个测试实例…