La .NET CLI e Visual Studio permettono la creazione di un progetto backend WebAPI e un frontend gestito da Vite, uno strumento che permette di compilare le applicazioni javascript, tutto in un'unica soluzione. Se noi applicassimo le best practices studiate fino ad ora, per inserire il progetto in .NET Aspire, ci accorgeremmo che la dashboard mostrerà una sola riga, relativa al servizio WebAPI e verrà aperta una nuova console per il frontend. Questa casistica, anche se può sembrare errata, è in realtà corretta, in quanto l'applicazione che mostrerà la UI è controllata dal servizio WebAPI.
Il primo passo per uniformare tutto verso .NET Aspire, è creare un nuovo profilo all'interno di Properties/launchSettings.json per escludere la SPA
{
"profiles": {
"aspire": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
// rimuovere questa linea
// "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.SpaProxy"
},
"dotnetRunMessages": true,
"applicationUrl": "https://localhost:53089;http://localhost:53090"
}
}}A seguito di questa modifica andiamo ad informare Aspire riguardo al profilo con cui dovrà eseguire l'applicazione
// MioProgetto.AppHost/program.cs
var servizioWebAPI = builder.AddProject<Mio.Progetto.WebAPI>("app", "aspire");A questo punto toccherà aggiungere l'applicazione npm alla pipeline dei servizi da eseguire, specificandone il comando di esecuzione (dev), che servirà attendere il progetto WebAPI per fornirne l'endpoint.
builder.AddNpmApp("miaAppFrontend", "../Mio.Progetto.client", "dev")
.WithReference(servizioWebAPI)
.WaitFor(servizioWebAPI)
.WithEnvironment("ASPNETCORE_URLS", servizioWebAPI.GetEndpoint("https"))
.WithEnvironment("BROWSER", "none")
.WithHttpsEndpoint(port: 5174, env: "PORT",name: "https");Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Integrazione di Copilot in .NET Aspire
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Self-healing degli unit test con Copilot in GitHub
Utilizzare i variable font nel CSS
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Gestione file Javascript in Blazor con .NET 9
Utilizzare WhenEach per processare i risultati di una lista di task
Ciclo di vita risorse con .NET Aspire
Arricchire l'interfaccia di .NET Aspire
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Utilizzare Hybrid Cache in .NET 9
I più letti di oggi
- Le DirectInk API nella Universal Windows Platform
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Gli oggetti CallOut di Expression Blend 4.0
- Inserire le news di Punto Informatico nel proprio sito
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Sfruttare una CDN con i bundle di ASP.NET


