使用 Visual Studio Code 开发 C# Service Fabric 应用程序

使用适用于 VS Code 的 Service Fabric Reliable Services 扩展可在 Windows、Linux 和 macOS 操作系统上轻松生成 .NET Core Service Fabric 应用程序。

本文介绍如何使用 Visual Studio Code 生成、部署和调试 .NET Core Service Fabric 应用程序。

先决条件

本文假设你已安装 VS Code、适用于 VS Code 的 Service Fabric Reliable Services 扩展,以及开发环境所需的所有依赖项。 有关详细信息,请参阅入门

下载示例

本文使用 Service Fabric .NET Core 入门示例 GitHub 存储库中的 CounterService 应用程序。

若要将此存储库克隆到开发计算机,请在终端窗口(Windows 上的命令窗口)中运行以下命令:

git clone https://github.com/Azure-Samples/service-fabric-dotnet-core-getting-started.git

在 VS Code 中打开应用程序

Windows

右键单击“开始”菜单中的 VS Code 图标,并选择“以管理员身份运行” 。 若要将调试程序附加到服务,需要以管理员身份运行 VS Code。

Linux

使用终端导航到应用程序本地克隆到的目录中的 /service-fabric-dotnet-core-getting-started/Services/CounterService 路径。

运行以下命令,以 root 用户身份打开 VS Code,以便将调试程序附加到服务。

sudo code . --user-data-dir='.'

现在,该应用程序应会显示在 VS Code 工作区中。

Counter Service Application in Workspace

构建应用程序

  1. 在 VS Code 中,按 (Ctrl + Shift + p) 打开命令面板

  2. 搜索并选择“Service Fabric: 生成应用程序”命令。 生成输出将发送到集成式终端。

    Build Application command in VS Code

将应用程序部署到本地群集

生成应用程序后,可将其部署到本地群集。

  1. 命令面板中,选择“Service Fabric: 部署应用程序(Localhost)”命令。 安装过程的输出将发送到集成式终端。

    Deploy Application command in VS Code

  2. 部署完成后,启动浏览器并打开 Service Fabric Explorer:http://localhost:19080/Explorer. 应会看到应用程序正在运行。 此过程可能需要一段时间,请耐心等待。

    Counter Service application in Service Fabric Explorer

  3. 确认应用程序正在运行后,启动浏览器并打开此页:http://localhost:31002. 这是应用程序的 Web 前端。 刷新页面,查看递增的当前计数器值。

    Counter Service application in Browser

将应用程序发布到 Azure Service Fabric 群集

除了将应用程序部署到本地群集外,还可以将应用程序发布到远程 Azure Service Fabric 群集。

  1. 确保已按上面的说明生成了应用程序。 使用要发布到的远程群集的详细信息更新生成的配置文件 Cloud.json

  2. 命令面板中,选择“Service Fabric: 发布应用程序”命令。 安装过程的输出将发送到集成式终端。

    Publish Application command in VS Code

  3. 部署完成后,启动浏览器并打开 Service Fabric Explorer: https:<clusterurl>:19080/Explorer 。 应会看到应用程序正在运行。 此过程可能需要一段时间,请耐心等待。

调试应用程序

在 VS Code 中调试应用程序时,该应用程序必须在本地群集上运行。 然后,可将断点添加到代码中。

若要设置断点并调试,请完成以下步骤:

  1. 在 Explorer 中打开 /src/CounterServiceApplication/CounterService/CounterService.cs 文件,并在 RunAsync 方法中的第 62 行处设置一个断点。

  2. 单击活动栏中的“调试”图标,在 VS Code 中打开调试程序视图。 单击调试程序视图顶部的齿轮图标,从环境下拉菜单中选择“.NET Core”。 此时会打开 launch.json 文件。 可以关闭此文件。 现在,运行按钮(绿色箭头)旁边的调试配置菜单中应会出现配置选项。

    Debug Icon in VS Code Workspace

  3. 在调试配置菜单中选择“.NET Core 附加”。

    Screenshot that shows .NET Core Attach selected in the debug configuration menu.

  4. 在浏览器中打开 Service Fabric Explorer:http://localhost:19080/Explorer. 单击“应用程序”并向下钻取,以确定运行 CounterService 的主节点。 在下图中,CounterService 的主节点是“节点 0”。

    Primary Node for CounterService

  5. 在 VS Code 中,单击“.NET Core 附加”调试配置旁边的运行图标(绿色箭头)。 在进程选择对话框中,选择在步骤 4 中识别的主节点上运行的 CounterService 进程。

    Primary Process

  6. 很快就会命中 CounterService.cs 文件中的断点。 然后可以浏览本地变量的值。 使用 VS Code 顶部的“调试”工具栏继续执行、逐行执行每行、逐步执行方法,或跳出当前方法。

    Debug Values

  7. 若要结束调试会话,请单击 VS Code 顶部的“调试”工具栏上的插入图标。

    Disconnect from debugger

  8. 完成调试后,可以使用“Service Fabric: 删除应用程序”命令从本地群集中删除 CounterService 应用程序。

后续步骤