elsa-core:4.ASP.NET Core Server with Elsa Dashboard
在本快速入门中,我们将了解一个最小的 ASP.NET Core 应用程序,该应用程序承载 Elsa Dashboard 组件并将其连接到 Elsa Server。
ElsaDashboard + Docker 尽管能够设置您自己的 Elsa Dashboard 项目以自定义某些方面很有用,但在许多情况下,您可能会发现基本仪表板是连接到 Elsa 服务器所需要的。 Elsa 附带了一个名为 ElsaDashboard.Web 的预制项目,您可以将其配置为与现有的 Elsa 服务器通信。此外,您还可以构建和运行一个 Dockerfile。 有关更多信息,请查看 ElsaDashboard + Docker 快速入门。 |
我们会:
- 创建 ASP.NET Core 应用程序。
- 安装 Elsa Dashboard 组件。
项目
创建一个名为 ElsaQuickstarts.Server.Dashboard 的新的空 ASP.NET Core 项目:
dotnet new web -n "ElsaQuickstarts.Server.Dashboard"
CD 到创建的项目文件夹中:
cd ElsaQuickstarts.Server.Dashboard
添加以下包:
dotnet add package Elsa.Designer.Components.Web
Startup
打开 Startup.cs 并将其内容替换为以下内容:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
namespace ElsaQuickstarts.Server.Dashboard
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints => { endpoints.MapFallbackToPage("/_Host"); });
}
}
}
_Host.cshtml + _ViewImports.cshtml
请注意,该应用程序将始终提供 _Host.cshtml 页面,我们接下来将创建该页面。
- 创建一个名为 Pages 的新文件夹。
- 在 Pages 中,创建一个名为cshtml 的新文件。
- 在 Pages 中,创建一个名为cshtml 的新文件。
将以下内容添加到 _ViewImports.cshtml:
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
并将以下内容添加到_Host.cshtml:
@page "/"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Elsa Workflows</title>
<link rel="icon" type="image/png" sizes="32x32" href="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/assets/images/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/assets/images/favicon-16x16.png">
<link rel="stylesheet" href="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/elsa-workflows-studio.css">
<script src="/_content/Elsa.Designer.Components.Web/monaco-editor/min/vs/loader.js"></script>
<script type="module" src="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/elsa-workflows-studio.esm.js"></script>
</head>
<body>
<elsa-studio-root server-url="https://your-elsa-server-url" monaco-lib-path="_content/Elsa.Designer.Components.Web/monaco-editor/min">
<elsa-studio-dashboard></elsa-studio-dashboard>
</elsa-studio-root>
</body>
</html>
运行
运行程序并打开 Web 浏览器到主页(如果您不更改 launchSettings.json,通常会自动发生):
在您确保将组件指向正在运行的 Elsa 服务器之前,所有菜单项都不会正常工作。
如果觉得不错,可以推荐收藏一下,让我也更有动力。