Nello script precedente abbiamo introdotto .NET Aspire e la sua abilità nell'orchestrare vari progetti con pochi e semplici click.
Questo strumento non si limita a configurarsi come punto di accesso per l'esecuzione dei nostri progetti, ma ne mostra anche le statistiche e le metriche, attraverso un'interfaccia intuitiva ed estendibile, non da meno ci permette di leggere la console di ogni singolo processo direttamente all'interno della pagina web.
Un ulteriore vantaggio che viene fornito out-of-the-box, tramite un extension method, è la gestione degli endpoint: un progetto client deve conoscere l'url del servizio API, ma questo, a seconda del pc dello sviluppatore o dell'ambiente di rilascio può variare. Ora possiamo lasciare tutto in carico a .NET Aspire aggiungendo questa riga alla configurazione
var apiService = builder.AddProject<Primo_progetto>("api-server"); builder.AddProject<Secondo_progetto>("blazor-client") // aggiunta del riferimento agli endpoints .WithExternalHttpEndpoints() .WithReference(apiService) .WaitFor(apiService);
Così facendo, quando andremo ad eseguire il progetto, .NET Aspire sovrascriverà tutti i riferimenti agli endpoint esterni all'interno del progetto Blazor, ma solo se correttamente configurati.
// # client/program.cs // Aggiunta servizi di default e integrazione con client Aspire. builder.AddServiceDefaults(); builder.Services.AddHttpClient<WeatherApiClient>(client => { // sostituzione endpoint statico con riferimento al nome in AppHost // client.BaseAddress = new("https//localhost:6675"); client.BaseAddress = new("https+http://api-server"); });
Con questa configurazione si otterrà un allineamento consistente e costante tra server e client, sia che il progetto venga eseguito su macchine di sviluppo diverse, quindi con porte potenzialmente differenti, che nel caso in cui il progetto venga pubblicato direttamente tramite .NET Aspire.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Referenziare un @layer più alto in CSS
Introduzione ai web component HTML
Gestione ciclo di vita in .NET Aspire
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Gestione dei nomi con le regole @layer in CSS
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Testare il failover sulle region in Azure Storage
Applicare un filtro per recuperare alcune issue di GitHub
Aggiornare a .NET 9 su Azure App Service
Eliminare una project wiki di Azure DevOps
Gestione CSS in Blazor con .NET 9
I più letti di oggi
- Rilasciata la versione RTW di Entity Framework 4.1
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare azurite come simulatore di Azure Storage