入门
本教程介绍了如何创建一个新的 ASP.NET Core MVC web . 配置并运行它.
设置你的开发环境
创建第一个项目之前,需要正确的设置你的开发环境.
预先要求
你需要安装以下工具:
Visual Studio 2019 (v16.4+) for Windows / Visual Studio for Mac.1
Yarn v1.20+ (not v2) 2 或 npm v6+ (与Node一起安装)
1 只要支持.NET Core和ASP.NET Core,就可以使用其他编辑器代替Visual Studio. ↩
2 Yarn v2 的工作方式不同,不受支持. ↩
安装ABP CLI
ABP CLI是一个命令行页面,用于自动执行一些基于ABP的应用程序的常见任务.
ABP CLI是ABP框架一个免费开源的工具.
你需要使用以下命令安排ABP CLI:
dotnet tool install -g Volo.Abp.Cli
如果你已经安装,你可以使用以下命令更新到最新版本:
dotnet tool update -g Volo.Abp.Cli
创建新项目
本文假设你使用 MVC / Razor Pages 做为UI框架 MongoDB 做为数据库提供程序,对于其它选项,你可以更改文档顶部的首选项.
使用ABP CLI创建一个新项目
使用ABP CLI的 new
命令创建新项目:
abp new Acme.BookStore -d mongodb --tiered --mobile react-native
此命令还会在解决方案文件夹内创建一个React Native移动应用程序. 如果你不想要它,可以安全地删除它或从
abp new
命令中删除--mobile react-native
选项, 以使其完全不包含在解决方案中.-d
指定数据库提供程序, 本例中是mongodb
.--tiered
参数用于创建n层解决方案,其中身份验证服务器层,UI层和API层在物理上是分离的.
你可以使用不同级别的命令空间; 例如. BookStore, Acme.BookStore or Acme.Retail.BookStore.
ABP CLI 命令 & 选项
ABP CLI文档涵盖了ABP CLI的所有可用命令和选项. 本文档使用应用程序启动模板创建新的Web应用程序. 有关其他模板,请参见ABP启动模板文档.
或者,您可以从ABP Framework网站中选择"直接下载"选项卡创建新的解决方案.
解决方案结构
创建项目后你会有以下解决方案目录和文件:
在Visual Studio中打开 .sln
文件时,将看到以下解决方案结构:
关于解决方案中的项目
根据你的UI,数据库和其他选项,你的解决方案的结构可能略有不同.
该解决方案具有分层结构(基于Domain Driven Design), 并包含配置好的的单元&集成测试项目.
集成测试项目已配置为每个测试创建的内存中的MongoDB数据库(使用的Mongo2Go库).
请参阅应用程序模板文档详细了解解决方案结构.
启动模板默认在
.MongoDB
项目中禁用了工作单元事务. 如果你的MongoDB服务器支持事务,你可以手动启用工作单元的事务:
Configure<AbpUnitOfWorkDefaultOptions>(options =>
{
options.TransactionBehavior = UnitOfWorkTransactionBehavior.Enabled;
});
创建数据库
连接字符串
检查 .IdentityServer
和 .HttpApi.Host
项目下 appsettings.json
文件中的 链接字符串:
"ConnectionStrings": {
"Default": "mongodb://localhost:27017/BookStore"
}
该解决方案被配置为在你的本地计算机中使用 MongoDB,因此你需要启动并运行一个MongoDB服务器实例或者将连接字符串更改为另一个MongoDB服务器.
初始化种子数据
该解决方案附带一个 .DbMigrator
控制台应用程序,该应用程序为初始数据提供了种子. 它对于开发以及生产环境都很有用.
.DbMigrator
项目有自己的appsettings.json
.如果你更改了其他项目的appsettings.json
,也应该更改这个.
右键点击 .DbMigrator
并选择 设置为启动项目.
按F5(或Ctrl+F5)启动应用程序,你会看到以下输出:
数据库创建后会初始化种子数据, 其中包含用于登录的
admin
用户. 所以你至少使用.DbMigrator
一次.
运行应用程序
确保 .IdentityServer
是启动项目,运行应用程序后会在你的浏览器打开一个 login 页面.
在Visual Studio中使用Ctrl+F5(而不是F5)运行应用,如果你不用于调试,这会减少启动时间.
你可以登录,但是不能在这里进入主应用程序,它仅是验证服务器.
确保 .HttpApi.Host
是启动项目,运行应用程序后会在你的浏览器打开一个 Swagger UI 页面.
这里是Web应用程序使用的API应用程序.
最后确保 .Web
是启动项目,运行应用程序后会在你的浏览器打开一个 welcome 页面.
点击 login 按钮重定向到 Identity Server
来登录应用程序.
输入用户名 admin,密码 1q2w3E* 登录到应用程序,应用程序已经启动并执行,你可以基于此启动模板开始开发应用程序.
移动开发
当你创建一个新的应用程序时. 可以添加-m react-native
选项以在解决方案中包含 react-native
项目. 这是一个基础的React Native启动模板,用于开发与基于ABP的后端集成的移动应用程序.
请参阅"React Native入门"文档了解如何配置和运行React Native应用程序.