Configuration¶
Generated apps use appsettings.json with environment overlays (Development, Production, Testing, PagePack). Template symbols set defaults such as:
MarketingSiteTemplate:DefaultCulture(fromDefaultLanguage)Analytics:GA4:Enabled(fromEnableAnalytics)CookieConsent:Enabled(fromEnableCookieConsent)
Use IOptions<T> with FluentValidation validators registered in OptionsExtensions.AddMarketingSiteTemplateOptions().
Key sections¶
| Section | Purpose |
|---|---|
Serilog |
Structured logging (async file JSON/text, console, App Insights) |
MarketingSiteTemplate |
App name, version, cultures, company, theme, warmup |
RateLimiting |
Token bucket; excludes health/static paths |
Observability |
Metrics/tracing endpoints and sampling |
HealthChecks / MarketingSiteTemplateHealthCheckProbes |
Ready/live/startup paths |
OpenTelemetry |
Service identity, exporters (console dev, Azure Monitor prod) |
FeatureManagement |
Page pack and experiment flags |
Experiments |
A/B variant weights |
Cors |
Origins and methods |
ApplicationInsights |
Connection string and module toggles |
Analytics |
GA4:MeasurementId, Enabled |
CookieConsent |
Banner and consent storage |
Swagger |
API docs toggle (dev by default) |
MicroFrontends |
Sample MFE1/MFE2 entries (demo pages, not main nav) |
Options classes¶
MarketingSiteTemplateOptions, MicroFrontendOptions, RateLimitingOptions, LoggingOptions, ObservabilityOptions, HealthChecksOptions, MarketingSiteTemplateHealthCheckProbeOptions, CorsOptions, HeaderPropagationOptions, SwaggerOptions, ExperimentsOptions — each with a validator in Options/Validators/.
Environment variables¶
Standard ASP.NET Core overrides apply (Section__Key pattern), for example:
ApplicationInsights__ConnectionStringAnalytics__GA4__MeasurementIdASPNETCORE_ENVIRONMENT
Deep dive in-repo: getting-started.md, troubleshooting.md.
Tip
After dotnet new, review generated appsettings*.json before first deploy; GA4 measurement IDs, App Insights connection strings, and BaseUrl are environment-specific.