.NET Aspire Quick Reference
Status: ✅ Integrated and Working Version: 9.0.0 Test Date: 2026-01-08
🚀 Quick Start
# Start everything
cd E:\github\FunWasHad
dotnet run --project FWH.AppHost
# Dashboard opens at: https://localhost:17154
📊 What You Get
Automatic Services
- ✅ PostgreSQL - Auto-provisioned database container
- ✅ pgAdmin - Database management UI
- ✅ Location API - With auto-configured connection
- ✅ Dashboard - Unified monitoring and logs
Built-in Features
- ✅ Health Checks -
/healthand/aliveendpoints - ✅ OpenTelemetry - Automatic tracing and metrics
- ✅ Structured Logs - Centralized and filterable
- ✅ Distributed Tracing - End-to-end request tracking
🎯 Common Commands
Development
# Start with Aspire (recommended)
dotnet run --project FWH.AppHost
# Build everything
dotnet build
# Run tests
dotnet test
Standalone (without Aspire)
# Just the Location API
dotnet run --project FWH.Location.Api
# Just the Mobile app
dotnet run --project FWH.Mobile/FWH.Mobile.Desktop
🔗 Important URLs
| Service | URL | Description |
|---|---|---|
| Dashboard | https://localhost:17154 | Aspire monitoring dashboard |
| pgAdmin | http://localhost:5050 | Database management |
| Location API | Check dashboard | Auto-assigned port |
| Health Check | {api-url}/health | API health status |
📁 New Files & Projects
FWH.AppHost/ # Orchestration
├── Program.cs # Service definitions
└── FWH.AppHost.csproj # Project file
FWH.ServiceDefaults/ # Shared config
└── FWH.ServiceDefaults.csproj # OpenTelemetry setup
FWH.Location.Api/
└── Program.cs # Enhanced with Aspire
Directory.Packages.props # Updated packages
Documentation/
├── Aspire_Integration_Summary.md
├── Aspire_Integration_Test_Results.md
└── Aspire_Integration_Test_ExecutiveSummary.md
⚙️ Configuration
Environment Variables
# Location API URL (for mobile app)
$env:LOCATION_API_BASE_URL = "https://localhost:17154"
# Enable Aspire service discovery (future)
$env:ASPIRE_SERVICE_DISCOVERY = "true"
Connection Strings
- Managed by Aspire - No manual configuration needed
- Auto-injected into Location API
- Secure random passwords generated
🐛 Troubleshooting
Dashboard Won't Open
# Check if AppHost is running
dotnet run --project FWH.AppHost
# Dashboard should auto-open in browser
# If not, manually navigate to URL in logs
PostgreSQL Not Starting
Issue: Docker not running
Solution: Start Docker Desktop
Workaround: Use standalone PostgreSQL
Port Conflicts
Issue: Port already in use
Solution: Aspire auto-assigns ports
Check: Dashboard shows actual ports used
📦 Package Versions
| Package | Version |
|---|---|
| Aspire.Hosting.AppHost | 9.0.0 |
| Aspire.Hosting.PostgreSQL | 9.0.0 |
| Aspire.Npgsql.EntityFrameworkCore.PostgreSQL | 9.0.0 |
| Microsoft.Extensions.ServiceDiscovery | 9.0.0 |
| OpenTelemetry.* | 1.10.0 |
| Entity Framework Core | 9.0.0 |
✅ Test Results Summary
- Build Status: ✅ Success (7.6s)
- Runtime Status: ✅ Running
- Tests Passed: 25/26 (96%)
- Errors: 0
- Warnings: 12 (expected)
🎓 Learn More
Documentation Files
- Aspire_Integration_Summary.md - Complete guide
- Aspire_Integration_Test_Results.md - Detailed tests
- Aspire_Integration_Test_ExecutiveSummary.md - Overview
Official Resources
💡 Pro Tips
Development
- Use dashboard for real-time debugging
- Check traces for slow queries
- Monitor health checks regularly
- Use structured logs for filtering
Performance
- Containers start faster after first run
- Dashboard caches data for quick access
- Use port assignments from dashboard
Debugging
- Set breakpoints in Location API (it's just .NET!)
- Check dashboard logs for errors
- Use health check endpoint for quick status
🚀 Next Steps
- ✅ Integration Done - Code is ready
- ⏳ Start Docker - For PostgreSQL containers
- ⏳ Explore Dashboard - See monitoring features
- ⏳ Test Endpoints - Verify Location API
- 🎉 Start Building - You're all set!
Quick Help:
- Build issues? Run
dotnet restore - Port conflicts? Check dashboard for actual ports
- Need Docker? Install Docker Desktop
- Questions? Check Aspire_Integration_Summary.md
Status: ✅ READY TO USE Last Updated: 2026-01-08 Version: 1.0