elsa-core/README.md
Sipke Schoorstra 1b5ec1ce1b Update README
2022-12-19 12:21:08 +01:00

2.2 KiB

Elsa Workflows

Nuget Build status Discord Stack Overflow questions Subreddit subscribers

Elsa is a workflows library that enables workflow execution in any .NET application. Workflows can be defined in a variety of ways:

  • Using C# code
  • Using a designer
  • Using JSON
  • Using a custom DSL

Documentation

Please checkout the documentation website to get started.

Features

Here are some of the more important features offered by Elsa:

  • Execute workflows in any .NET app.
  • Supports both short-running and long-running workflows.
  • Programming model loosely inspired on WF4 (composable activities)
  • Support for complex activities such as Sequence and Flowchart.
  • Ships with a workflows designer web component (currently supports Flowchart diagrams only).

Examples

Hello World: Console

The following is a simple Hello World workflow created as a console application. The workflow is created using C#.

using Elsa.Extensions;
using Elsa.Workflows.Core.Activities;
using Elsa.Workflows.Core.Services;
using Microsoft.Extensions.DependencyInjection;

// Setup service container.
var services = new ServiceCollection();

// Add Elsa services.
services.AddElsa();

// Build service container.
var serviceProvider = services.BuildServiceProvider();

// Create a workflow.
var workflow = new WriteLine("Hello World!");

// Resolve a workflow runner to run the workflow.
var workflowRunner = serviceProvider.GetRequiredService<IWorkflowRunner>();

// Run the workflow.
await workflowRunner.RunAsync(workflow);

Outputs:

Hello World!