Skip to content

Features

ConnectSoft.Blazor.ShellTemplate (connectsoft-blazor-shell) scaffolds a minimal Blazor Server shell host plus a Shared.Contracts library. It is the lightweight alternative to connectsoft-blazor-mfe - no sample WASM MFEs, no UIKit adapter choice at generation time. Standalone (UIKit-based), not derived from ConnectSoft.BaseTemplate.

Configuration-driven MFE navigation

The shell reads its micro-frontend list from configuration rather than code:

  • ShellOptions bound from the "Shell" section via AddShellOptions(configuration).
  • MicroFrontendOptions: Id, Name, BaseUrl, Path.
  • NavMenu.razor iterates IOptions<ShellOptions>.Value.MicroFrontends to render nav links (plus Home and a UIKit Demo link).

Default appsettings.json registers MFE1/MFE2 at localhost:5001/5002 with paths /mfe1, /mfe2.

Modern Blazor Server hosting

Uses AddRazorComponents().AddInteractiveServerComponents() and MapRazorComponents<App>() (.NET 10 render model) - distinct from the MFE Library template's legacy _Host + MapBlazorHub() approach.

Shared.Contracts

A class library (with FrameworkReference to Microsoft.AspNetCore.App) of cross-cutting DTOs and events under Identity/, Events/, Common/, Extensions/ProblemDetails/. Examples: UserDto, LoginRequestDto, NavigationRequestedEvent, MfeEvent, ApiResponse<T>, PagedResult<T>, ProblemDetailsHelper.

UI

Pages: Home.razor, Mfe1.razor, Mfe2.razor, Error.razor, plus a UIKitDemo.Full.razor.example. App.razor loads UIKit token CSS from _content/ConnectSoft.Blazor.UIKit/..., the compiled css/app.css, and Flowbite CDN JS.

See also