项目

本文档有多个版本。请选择最适合您的选项。

UI
Database

微服务教程第二部分:创建初始目录服务

在本教程中,您将创建一个新的目录服务并将其集成到解决方案中。

创建目录服务

右键单击 解决方案资源管理器 面板中的 services 文件夹,选择 添加 -> 新建模块 -> 微服务 命令:

abp-studio-add-new-microservice-command

此命令将打开一个新的对话框,用于定义新微服务的属性。您可以使用以下值创建一个名为 CatalogService 的新微服务:

abp-studio-add-new-microservice-dialog

单击 下一步 按钮后,您将进入数据库提供程序选择步骤。

选择数据库类型

在此处,您可以选择新微服务要使用的数据库提供程序:

abp-studio-add-new-microservice-dialog-database-step

选择 Entity Framework Core 选项并进入 下一步

选择数据库管理系统

abp-studio-add-new-microservice-dialog-database-step

选择所需选项并进入下一步。

附加选项

abp-studio-add-new-microservice-dialog-additional-options-step

在此步骤中,您可以为新微服务选择附加选项。您可以保持默认值并单击 创建 按钮。

到此为止,ABP Studio 将创建新的微服务并为您安排所有集成和配置。

集成到解决方案

在此步骤中,我们可以选择将新微服务集成到解决方案其余组件的选项:

abp-studio-add-new-microservice-dialog-integration-step

ABP Studio 会智能地为您选择正确的值,但您仍需仔细检查,因为它们直接影响我们将在本教程后续部分进行的操作。

请确保选项配置与前面图中的一致,然后单击 下一步 按钮。

探索新目录微服务

在本节中,我们将总体查看新的微服务。

理解服务的包结构

新微服务已添加到 CloudCrm ABP Studio 解决方案的 services 文件夹下:

abp-studio-new-catalog-service-in-solution-explorer

新微服务有其独立的 .NET 解决方案,其中包含三个包(.NET 项目):

  • CloudCrm.CatalogService 是您将实现服务的主要项目。它通常包含您的实体仓储应用服务、API 控制器等。
  • CloudCrm.CatalogService.Contracts 项目可以与其他服务和应用程序共享。它通常包含您的应用服务接口、数据传输对象以及您可能希望与此微服务客户端共享的其他一些类型。
  • CloudCrm.CatalogService.Tests 用于为此微服务构建单元测试和集成测试。

在 IDE 中打开服务

您可以在您喜欢的 IDE 中打开新微服务进行开发。作为快捷方式,您可以在 ABP Studio 中右键单击它,选择 用...打开 -> Visual Studio 命令,例如:

abp-studio-open-with-visual-studio

以下是 Visual Studio 中的 CloudCrm.CatalogService .NET 解决方案:

visual-studio-solution-explorer-catalog-service

运行新服务

您可以使用 ABP Studio 的 解决方案运行器 运行该解决方案。它还将新目录服务作为解决方案的一部分运行。

在运行解决方案之前,请确保所有应用程序都已构建完成。如果您不确定,请右键单击 解决方案资源管理器 面板中的根项 (CloudCrm),选择 生成 -> 图生成 命令。

单击解决方案根目录附近的 播放 按钮:

abp-studio-solution-runner-play-all

浏览目录服务

所有应用程序启动后,右键单击目录服务并选择 浏览 命令:

abp-studio-browse-catalog-service

它将打开内置浏览器,您将看到目录服务的 Swagger UI:

abp-studio-browser-catalog-service-swagger-ui

您可以在 Swagger UI 上测试 API,以查看新微服务是否正常工作。

打开目录数据库

新的目录微服务有其自己的数据库。当您运行微服务时,该数据库将由微服务应用程序自动创建。此外,当微服务运行时,Entity Framework 的数据库迁移会自动由微服务应用。因此,您无需关心每次部署微服务时的数据库架构更改。

假设您已选择 SQL Server 作为数据库管理系统,您可以打开 SQL Server Management Studio 查看其数据库:

sql-server-management-studio-login-screen

使用 localhost,1434 作为 服务器名称,选择 SQL Server 身份验证 作为 身份验证 类型,使用 sa 作为 登录名myPassw@rd 作为 密码 值。您可以在目录微服务 .NET 解决方案的 CloudCrm.CatalogService 项目中的 appsettings.json 文件中找到这些值。

单击 连接 按钮后,您可以看到所有数据库并浏览其数据:

sql-server-management-studio-databases

目录服务的数据库最初只有三个表。第一个表用于 Entity Framework Core 的迁移系统,其余两个表用于 ABP 的分布式事件总线,以便使用发件箱和收件箱模式正确应用事务性事件。您无需关心这些表,因为它们由 Entity Framework Core 和 ABP 创建和管理。

总结

在微服务开发教程的这一部分中,我们向解决方案添加了一个新的目录微服务,探索了其代码结构和数据库,并使用 Swagger UI 浏览了其 API。在下一部分中,我们将在此新微服务中创建功能。


在本文档中