Back to Devexpress

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

expressappframework-devexpress-dot-expressapp-dot-applicationbuilder-dot-statemachineapplicationbuilderextensions-dot-addstatemachine-tbuilder-x28-imodulebuilder-tbuilder-action-statemachineoptions-x29.md

latest4.9 KB
Original Source

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

Adds the State Machine Module to your application.

Namespace : DevExpress.ExpressApp.ApplicationBuilder

Assembly : DevExpress.ExpressApp.StateMachine.v25.2.dll

NuGet Package : DevExpress.ExpressApp.StateMachine

Declaration

csharp
public static IModuleBuilder<TBuilder> AddStateMachine<TBuilder>(
    this IModuleBuilder<TBuilder> builder,
    Action<StateMachineOptions> configureOptions = null
)
    where TBuilder : IApplicationBuilder<TBuilder>
vb
<ExtensionAttribute>
Public Shared Function AddStateMachine(Of TBuilder As IApplicationBuilder(Of TBuilder))(
    builder As IModuleBuilder(Of TBuilder),
    configureOptions As Action(Of StateMachineOptions) = Nothing
) As IModuleBuilder(Of TBuilder)

Parameters

NameTypeDescription
builderIModuleBuilder<TBuilder>

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

|

Optional Parameters

NameTypeDefaultDescription
configureOptionsAction<StateMachineOptions>null

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

|

Type Parameters

NameDescription
TBuilder

The IWinApplicationBuilder or IBlazorApplicationBuilder type.

|

Returns

TypeDescription
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.

csharp
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.

csharp
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

StateMachineApplicationBuilderExtensions Class

StateMachineApplicationBuilderExtensions Members

DevExpress.ExpressApp.ApplicationBuilder Namespace