Skip to main content
All docs
V24.1
.NET 6.0+
  • The page you are viewing does not exist in the .NET Framework 4.5.2+ platform documentation. This link will take you to the parent topic of the current section.

StateMachineApplicationBuilderExtensions.AddStateMachine<TBuilder>(IModuleBuilder<TBuilder>, Action<StateMachineOptions>) Method

Adds the State Machine Module to your application.

Namespace: DevExpress.ExpressApp.ApplicationBuilder

Assembly: DevExpress.ExpressApp.StateMachine.v24.1.dll

NuGet Package: DevExpress.ExpressApp.StateMachine

Declaration

public static IModuleBuilder<TBuilder> AddStateMachine<TBuilder>(
    this IModuleBuilder<TBuilder> builder,
    Action<StateMachineOptions> configureOptions = null
)
    where TBuilder : IApplicationBuilder<TBuilder>

Parameters

Name Type Description
builder IModuleBuilder<TBuilder>

Allows you to register and configure Modules in your application, and chain further Module registrations.

Optional Parameters

Name Type Default Description
configureOptions Action<StateMachineOptions> null

Options that you can use to configure the State Machine Module.

Type Parameters

Name Description
TBuilder

The IWinApplicationBuilder or IBlazorApplicationBuilder type.

Returns

Type Description
IModuleBuilder<TBuilder>

Allows you to register and configure Modules in your application, and chain further Module registrations.

Remarks

The following example demonstrates how to use this method:

WinForms

File: MySolution.Win\Startup.cs.

using DevExpress.ExpressApp.ApplicationBuilder;
using DevExpress.ExpressApp.StateMachine.Xpo;
using DevExpress.ExpressApp.Win.ApplicationBuilder;
// ...
public class ApplicationBuilder : IDesignTimeApplicationFactory {
    public static WinApplication BuildApplication(string connectionString) {
        var builder = WinApplication.CreateBuilder();
        builder.UseApplication<MySolutionWindowsFormsApplication>();
        builder.Modules
            // ...
            .AddStateMachine(options => {
                options.StateMachineStorageType = typeof(XpoStateMachine);
            })
        // ...
    }
    // ...
}

ASP.NET Core Blazor

File: MySolution.Blazor.Server\Startup.cs.

using DevExpress.ExpressApp.ApplicationBuilder;
using DevExpress.ExpressApp.StateMachine.Xpo;
using DevExpress.ExpressApp.Blazor.ApplicationBuilder;
// ...
public class Startup {
   // ...
    public void ConfigureServices(IServiceCollection services) {
        // ...
        services.AddXaf(Configuration, builder => {
            builder.UseApplication<MySolutionBlazorApplication>();
            builder.Modules
                // ...
                .AddStateMachine(options => {
                    options.StateMachineStorageType = typeof(XpoStateMachine);
                })
            // ...
        });
        // ...
    }
}
See Also