ABPZERO介绍

内容

首先我们创建一个名为“Acme.PhoneBook”的项目。
本文档是指南会同步开发您的项目。
我们建议你在开发之前准备备份下这份初始项目。

因为abpZero是基于abp的基础框架衍生出的所以本文档也是基于ABP的文档作为标准开发的协同开发。 abp文档链接

在阅读本文档之前, 建议先运行项目,并了解用户界面。这将帮助您更好地理解此处定义的概念。最好是先看过ABP的文档

解决方案结构(层)SOLUTION STRUCTURE (LAYERS)

当您创建并下载您的项目时,将通过一个解决方案结构如下所示 ︰
image

该解决方案中包含了6个项目类库
  1. Tests 文件夹中的 Tests类库是一个测试项目包含了单元测试和集成测试。

  2. Migrator Tools文件夹中的是迁移项目。它是一个控制台程序,可以执行数据库迁移。

  3. Application 应用程序项目包含应用程序逻辑 (如业务服务和 Dto)。

  4. Core 核心项目包含领域层及类文件 (如实体和领域服务)。

  5. EntityFramework EntityFramework 项目包含您 DbContext、 仓储实现、 数据库迁移和其他 EntityFramework 特定概念。

  6. Web 项目包含了表现层 (如: JavaScripts,Css,以及视图文件)

  7. WebApi 项目包含了WebApi控制器,生成动态API。配合Swagger Ui生成可视化文件

Application 应用层说明

Asp.netZero 中包含了4个应用程序

  • 基于MVC制作的前端:这个可以用来创建一个公共的web站点或者其他程序。
  • 基于Angular制作的单页面后台管理:需要使用用户名和密码才能登陆的应用程序。
  • MVC搭建的多页面后台管理:功能和Angular的单页面功能基本一致,但是使用的技术为MVC和JQuery。
  • 迁移:整个基于Codefirst来的,运行可以迁移数据库

所以整个Application是基于两个不同的体系结构制作的(SPA和MPA),你可以按照你自己的喜欢打造属于自己的后台管理。你可以安全的从项目中删除MPA或者SPA不会发生冲突。

多租户

多租户的使用可以轻松的构建Saas(Soft as a Service)翻译为:“软件即服务”,高大上的称呼为“云服务”。
使用此技术我们可以部署单个项目网站和单个/多个数据库向多个客户提供服务。每个租户将有自己的角色、用户和设置。

Asp.NetZero的代码库是默认开启了多租户貌似。如果我们正在开发单租户项目,可以通过配置来禁用该功能。

  1. 当您禁用它的时候,所有的多租户的功能将隐藏以及不可用。
  2. 如果你禁用了多租户,将开启单租户,租户名称为“Default”。

启用多租户的话会有两种类型的视角模式存在于项目中

  • Host: 管理租户和系统(俗称上帝视角)
  • Tenant(租户): 使用程序功能的租户。

ASP.NET Zero使用了 ABP的 (ASP.NET 样板)“data filters”数据筛选器。
所以,当你正确的使用了"data filters"筛选器的接口来创建一个多租户应用的话,ABP框架会自动隔离掉 租户的数据信息。

posted @ 2017-01-17 11:17  梁桐铭  阅读(9957)  评论(0编辑  收藏  举报