Table of Contents

.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 - /health and /alive endpoints
  • 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

  1. Aspire_Integration_Summary.md - Complete guide
  2. Aspire_Integration_Test_Results.md - Detailed tests
  3. 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

  1. Integration Done - Code is ready
  2. Start Docker - For PostgreSQL containers
  3. Explore Dashboard - See monitoring features
  4. Test Endpoints - Verify Location API
  5. 🎉 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