Lokale Ontwikkeling met Aspire
.NET Aspire orchstreert alle lokale services vanuit één run configuration. Start via het AutoMate.AppHost project.
Starten
Zorg dat Docker Desktop draait
Open
AutoMate.slnxin RiderSelecteer run configuration
AutoMate.AppHostStart (F5 of Run)
Het Aspire dashboard opent automatisch
SQL Server
Aspire start een persistent SQL Server 2022 container met een eigen data volume (automate-sql-data). De volgende databases worden automatisch aangemaakt:
Database naam | Aspire resource | Inhoud |
|---|---|---|
|
| Tenant configuraties |
|
| UserType definities |
|
| Medewerkers en gebruikers |
|
| Branding instellingen |
|
| E-mailhandtekeningen |
|
| Licentiedata |
|
| Hangfire job storage |
|
| AutoPilot devices |
|
| SAP SuccessFactors data |
|
| E-mail logs |
De meeste databases worden geïnitialiseerd via creation scripts in AutoMate.AppHost/Helpers/SqlHelper.cs. De Jobs-database (Hangfire) wordt door Hangfire zelf aangemaakt via PrepareSchemaIfNecessary.
Services
Seq
Seq verzorgt structured logging voor de API en het Management Portal. De UI is bereikbaar op http://localhost:5341 (poortnummer toegewezen door Aspire).
Het Aspire dashboard toont een directe link naar de Seq UI naast de API-resource.
Azure Storage Emulator
Aspire start een Azure Storage emulator voor Blob en Table storage. Dit wordt gebruikt door de audit log plugin (AutoMate.API.Plugins.AuditLog) voor de AzureTable provider. De Aspire-resource heet auditlogs (Tables).
SAP SuccessFactors
De AutoMate.API.SAPSuccesfactors service fungeert als mock OData connector. Deze is geconfigureerd met WithExplicitStart — hij start niet automatisch maar kan handmatig worden gestart vanuit het Aspire dashboard wanneer SAP-integratie lokaal getest moet worden.
Service Dependencies
De opstartvolgorde wordt afgedwongen via WaitFor:
De API start pas nadat alle databases bereikbaar zijn. Het Management Portal start pas nadat de API bereikbaar is. Dit voorkomt opstartfouten door ontbrekende database-verbindingen.
Aspire Dashboard URLs
Het Aspire dashboard registreert de volgende extra URL-shortcuts voor de API:
Label | URL |
|---|---|
Scalar (v1) |
|
Jobs dashboard |
|