Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Web App ASP.NET Core: lanciamo l'applicazione

Completiamo la nostra Web App con ASP.NET Core e lanciamola dopo aver configurato le parti relative a salvataggio dei dati e route
Completiamo la nostra Web App con ASP.NET Core e lanciamola dopo aver configurato le parti relative a salvataggio dei dati e route
Link copiato negli appunti

Terminiamo la realizzazione della nostra applicazione con ASP.NET affrontando i passaggi relativi alla configurazione del provider del database, al salvataggio dei dati e alla configurazione delle route. Alla fine del nostro lavoro avremo creato una Web App ASP.NET Core perfettamente funzionante. La prima parte dello sviluppo del progetto è descritta nel dettaglio nella lezione precedente.

Configurazione del provider del database

Apriamo il file Startup.cs. Nel metodo ConfigureServices aggiungiamo il seguente codice per configurare il provider di database. In ASP.NET Core, il provider di database rappresenta l'implementazione specifica del supporto di accesso al database per una base di dati specifica, come per esempio SQL Server, MySQL, PostgreSQL, SQLite o soluzioni simili.

Il provider di database è responsabile della traduzione delle query e delle operazioni eseguite dall'applicazione in istruzioni comprensibili dal database sottostante.

using Microsoft.EntityFrameworkCore;
public void ConfigureServices(IServiceCollection services)
{
    // ...
    services.AddDbContext(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    // ...
}

Come riportato nel codice, stiamo utilizzando una classe chiamata YourDbContext che estende la classe DbContext di Entity Framework. DbContext rappresenta il contesto del nostro database e definisce le entità e le relazioni, nonché le operazioni di accesso al database.

Utilizzando Entity Framework in ASP.NET Core, è necessario creare una classe ereditata da DbContext specifica per il nostro database. Abbiamo scelto di chiamarla YourDbContext ma possiamo sostituire questo nome con quello che desideriamo.

Durante la configurazione dei servizi del database, utilizziamo il metodo AddDbContext per registrare il nostro contesto del database nel servizio di injection delle dipendenze di ASP.NET Core. Ciò ci consente di accedere al contesto del database tramite l'iniezione delle dipendenze.

All'interno del metodo AddDbContext, infine, abbiamo utilizzato il metodo UseSqlServer per configurare il provider di database per SQL Server. UseSqlServer accetta la stringa di connessione al nostro database, che è stata recuperata dal file di configurazione appsettings.json tramite la chiamata a Configuration.GetConnectionString("DefaultConnection").

Il salvataggio dei dati

Ora ritorniamo al controller in cui abbiamo creato il metodo SaveData. Aggiungiamo la dipendenza al contesto del database utilizzando l'annotazione [FromServices] sopra il parametro del costruttore.

using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
public class DataController : Controller
{
    private readonly YourDbContext _dbContext;
    public DataController([FromServices] YourDbContext dbContext)
    {
        _dbContext = dbContext;
    }
    // ...
    [HttpPost]
    public IActionResult SaveData(string name, string email)
    {
        // Salva i dati nel database utilizzando il contesto del database
        var entity = new YourEntity { Name = name, Email = email };
        _dbContext.YourEntities.Add(entity);
        _dbContext.SaveChanges();
        return RedirectToAction("FormData");
    }
}

Con questi passaggi abbiamo configurato correttamente il database e riusciremo a salvare i dati utilizzando l'Entity Framework di ASP.NET Core.

La configurazione delle route

Apriamo il file Startup.cs e andiamo al metodo Configure. Andiamo ad aggiungere il seguente codice al suo interno:

app.UseRouting();
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Welcome}/{id?}");
});

Nel codice fornito in precedenza stiamo mappando la rotta predefinita chiamata default. Questa rotta corrisponde a una struttura di URL che segue il pattern {controller=Home}/{action=Welcome}/{id?}.

  • {controller=Home} specifica che il nome del controller predefinito è Home. Questo significa che quando viene richiamato un URL senza specificare un controller, l'applicazione utilizzerà il controller HomeController per gestire la richiesta.
  • {action=Welcome} specifica che l'azione predefinita all'interno del controller Home è Welcome. Quando viene richiamato un URL senza specificare un'azione, l'applicazione utilizzerà l'azione Welcome all'interno del controller per gestire la richiesta.
  • {id?} indica che l'ID è un parametro opzionale nella rotta. Ciò significa che l'URL può includere un parametro opzionale denominato id.

In sostanza, il codice configura il routing in modo che le richieste HTTP vengano indirizzate al controller HomeController e all'azione Welcome come azione predefinita, consentendo di gestire le richieste verso la pagina di benvenuto della nostra applicazione.

Conclusioni: lanciare l'applicazione

A questo punto non ci rimane che premere il tasto F5 o selezionare "Avvia debugging" per eseguire l'applicazione. Quest'ultima si aprirà nel browser Web predefinito e mostrerà la pagina di benvenuto. Navigando a partire dall'URL /Data/FormData, visualizzeremo la pagina con il form che, compilandolo, ci permetterà di inviare i dati al nostro controller e infine al nostro database.

Ti consigliamo anche