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
Raggruppare risorse in .NET Aspire
Gestire codice JavaScript con code splitting e lazy loading
Personalizzare le pagine di errore su Azure App Service
Scrivere selettori CSS più semplici ed efficienti con :is()
Utilizzare DeepSeek R1 con Azure AI
Eseguire query in contemporanea con EF
Utilizzare l nesting nativo dei CSS
Ridurre il reflow cambiando il CSS
Introduzione ai web component HTML
Potenziare la ricerca su Cosmos DB con Full Text Search
Gestione degli eventi nei Web component HTML
Utilizzare WhenEach per processare i risultati di una lista di task


