Collegare applicazioni server e client con .NET Aspire

di Morgan Pizzini, in ASP.NET Core,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi