elsa-core/src/bundles/Elsa.AllInOne.Web/Program.cs

74 lines
2.2 KiB
C#
Raw Normal View History

2022-04-29 12:40:25 +00:00
using Elsa.Extensions;
using Elsa.Jobs.Extensions;
using Elsa.Http;
using Elsa.Http.Extensions;
using Elsa.JavaScript.Activities;
using Elsa.JavaScript.Extensions;
using Elsa.Scheduling.Activities;
using Elsa.Liquid.Extensions;
using Elsa.Scheduling.Extensions;
using Elsa.Workflows.Core;
using Elsa.Workflows.Core.Activities;
2022-06-11 18:04:16 +00:00
using Elsa.Workflows.Core.Activities.Flowchart.Activities;
using Elsa.Workflows.Core.Serialization;
using Elsa.Workflows.Core.Services;
using Elsa.Workflows.Management.Extensions;
using Elsa.Workflows.Management.Serialization;
using Elsa.Workflows.Runtime.Extensions;
2022-04-29 12:40:25 +00:00
var builder = WebApplication.CreateBuilder(args);
var services = builder.Services;
// Add Elsa services.
2022-04-29 12:40:25 +00:00
services
2022-05-26 15:05:36 +00:00
.AddElsa(elsa => elsa
.UseWorkflows()
.UseRuntime()
.UseManagement(management => management
.AddActivity<Sequence>()
.AddActivity<WriteLine>()
.AddActivity<ReadLine>()
.AddActivity<If>()
.AddActivity<HttpEndpoint>()
.AddActivity<Flowchart>()
.AddActivity<Delay>()
.AddActivity<Elsa.Scheduling.Activities.Timer>()
.AddActivity<ForEach>()
.AddActivity<Switch>()
.AddActivity<RunJavaScript>()
)
.UseJobs()
.UseScheduling()
2022-05-26 15:05:36 +00:00
.UseJavaScript()
.UseLiquid()
.UseHttp()
.UseCustomActivities()
2022-05-26 15:05:36 +00:00
);
2022-04-29 12:40:25 +00:00
// Register serialization configurator for configuring what types to allow to be serialized.
services.AddSingleton<ISerializationOptionsConfigurator, CustomSerializationOptionConfigurator>();
services.AddSingleton<ISerializationOptionsConfigurator, SerializationOptionsConfigurator>();
// Razor Pages.
services.AddRazorPages();
// Configure middleware pipeline.
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseElsaFastEndpoints();
2022-04-29 12:40:25 +00:00
app.UseHttpActivities();
app.MapRazorPages();
app.Run();