網頁:https://elsa-workflows.github.io/elsa-core/docs/guides-hello-world-http
在本節中,我們將執行以下操作:
- 創建一個ASP.NET Core應用程序。
- 以編程方式定義工作流,該工作流在HTTP請求到達指定URL時執行。
讓我們開始吧!
創建ASP.NET Core項目
創建一個名為Elsa.Guides.HelloWorld.WebApp的新的空ASP.NET Core項目,並添加以下程序包:
- Elsa.Core
- Elsa.Activities.Http
創建工作流類
創建一個名為HelloWorldHttpWorkflow的新類,並添加以下代碼:

using System; using System.Net; using System.Net.Http; using Elsa.Activities.Http.Activities; using Elsa.Expressions; using Elsa.Services; using Elsa.Services.Models; namespace Elsa.Guides.HelloWorld.WebApp { public class HelloWorldHttpWorkflow : IWorkflow { public void Build(IWorkflowBuilder builder) { builder .StartWith<ReceiveHttpRequest>( x => { x.Method = HttpMethod.Get.Method; x.Path = new Uri("/hello-world", UriKind.Relative); } ) .Then<WriteHttpResponse>( x => { x.Content = new LiteralExpression("<h1>Hello World!</h1>"); x.ContentType = "text/html"; x.StatusCode = HttpStatusCode.OK; x.ResponseHeaders = new LiteralExpression("X-Powered-By=Elsa Workflows"); } ); } } }
更新Startup.cs文件
接下來,打開Startup.cs並插入以下代碼:

using Elsa.Activities.Http.Extensions; using Elsa.Extensions; using Elsa.Services; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; namespace Elsa.Guides.HelloWorld.WebApp { public class Startup { public void ConfigureServices(IServiceCollection services) { services .AddElsa() .AddHttpActivities() .AddWorkflow<HelloWorldHttpWorkflow>; } 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.
打開瀏覽器窗口或Postman之類的工具,然后導航至https://localhost:5001/hello-world。
結果應如下所示:
總結
由此示例可見,HTTP工作流是一種輕松實現邏輯以快速響應HTTP請求的好方法。
源碼
https://github.com/elsa-workflows/elsa-guides/tree/master/src/Elsa.Guides.HelloWorld.WebApp