在本快速入门中,我们将了解一个执行工作流的最小 ASP.NET Core 应用程序。工作流将侦听传入的 HTTP 请求并写回一个简单的响应。
我们将:
项目
创建一个名为 ElsaQuickstarts.WebApp.HelloWorld 的新的空 ASP.NET Core 项目:
dotnet new web -n "ElsaQuickstarts.WebApp.HelloWorld"
CD 到创建的项目文件夹中:
cd ElsaQuickstarts.WebApp.HelloWorld
添加以下包:
dotnet add package Elsa
dotnet add package Elsa.Activities.Http
工作流程
创建一个名为 HelloWorld.cs 的新文件并添加以下代码:
using System.Net;
using Elsa.Activities.Http;
using Elsa.Builders;
namespace ElsaQuickstarts.WebApp.HelloWorld
{
    /// <summary>
    /// A workflow that is triggered when HTTP requests are made to /hello-world and writes a response.
    /// </summary>
    public class HelloWorld : IWorkflow
    {
        public void Build(IWorkflowBuilder builder)
        {
            builder
                .HttpEndpoint("/hello-world")
                .WriteHttpResponse(HttpStatusCode.OK, "<h1>Hello World!</h1>", "text/html");
        }
    }
}
| 
 上述工作流有两个活动。第一个活动 HttpEndpoint 表示一个 HTTP 端点,可以使用 HTTP 客户端(包括 Web 浏览器)调用该端点。第一个活动连接到第二个活动 WriteHttpResponse,后者将响应写入 HTTP 客户端。 当活动如本例所示链接时,第二个活动连接到第一个活动的“完成”结果。您还可以明确连接到“完成”结果,如下所示: 
任何时候您想连接到“Done”以外的结果时,都需要明确连接到活动的结果  | 
接下来,打开 Startup.cs 并将其内容替换为以下内容:
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
namespace ElsaQuickstarts.WebApp.HelloWorld
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services
                .AddElsa(options => options
                    .AddHttpActivities()
                    .AddWorkflow<HelloWorld>());
        }
        public void Configure(IApplicationBuilder app)
        {
            app.UseHttpActivities();
        }
    }
}
运行
运行程序并等待,直到看到以下输出:
| 
 Now listening on: http://localhost:5000 Now listening on: https://localhost:5001 Application started. Press Ctrl+C to shut down.  | 
打开 Web 浏览器并导航到 https://localhost:5001/hello-world。
结果应如下所示:
 
原文:https://www.cnblogs.com/jingboweilan/p/15150484.html