Dashboard API

The Trax.Core dashboard is a Blazor Server UI that provides real-time visibility into train execution, metadata, manifests, dead letters, and effect provider configuration. It’s distributed as a Razor Class Library and mounted into your existing ASP.NET Core application.

Effect providers that implement IConfigurableEffectProviderFactory<TConfiguration> (or IConfigurableJunctionEffectProviderFactory<TConfiguration>) expose a settings button on the dashboard’s Effects page, where their configuration properties can be modified at runtime.

// In Program.cs
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddTrax(trax => trax
    .AddEffects(effects => effects.UsePostgres(connectionString))
    .AddMediator(typeof(Program).Assembly)
);

builder.AddTraxDashboard();  // Requires AddTrax() first; throws InvalidOperationException otherwise

var app = builder.Build();
app.UseTraxDashboard();
Page Description
AddTraxDashboard Registers dashboard services (Blazor, Radzen, train discovery)
UseTraxDashboard Maps the dashboard Blazor components at a route prefix
DashboardOptions Configuration options for route prefix, title, and environment

Table of contents


Back to top

Trax - A .NET framework for Railway Oriented Programming with Effects, Scheduling, and more