Condividi tramite


Eseguire la migrazione della configurazione ad ASP.NET Core

Nell'articolo precedente è stata avviata la migrazione di un progetto MVC ASP.NET a ASP.NET Core MVC. In questo articolo viene eseguita la migrazione della configurazione.

Visualizzare o scaricare il codice di esempio (procedura per il download)

Eseguire la configurazione

ASP.NET Core non usa più i file Global.asax e web.config usati nelle versioni precedenti di ASP.NET. Nelle versioni precedenti di ASP.NET, la logica di avvio dell'applicazione è stata inserita in un Application_StartUp metodo all'interno di Global.asax. Successivamente, in ASP.NET MVC, è stato incluso un Startup.cs file nella radice del progetto e viene chiamato all'avvio dell'applicazione. ASP.NET Core ha adottato completamente questo approccio inserendo tutta la Startup.cs logica di avvio nel file.

Il file web.config è stato sostituito anche in ASP.NET Core. La configurazione stessa può ora essere configurata, come parte della procedura di avvio dell'applicazione descritta in Startup.cs. La configurazione può comunque usare file XML, ma in genere ASP.NET progetti Core inserisce i valori di configurazione in un file in formato JSON, ad esempio appsettings.json. ASP.NET sistema di configurazione di Core può anche accedere facilmente alle variabili di ambiente, che possono fornire una posizione più sicura e affidabile per i valori specifici dell'ambiente. Ciò vale soprattutto per i segreti come le stringa di connessione e le chiavi API che non devono essere controllate nel controllo del codice sorgente. Vedere Configurazione per altre informazioni sulla configurazione in ASP.NET Core.

Avviso

Questo articolo usa un database locale che non richiede l'autenticazione dell'utente. Le app di produzione devono usare il flusso di autenticazione più sicuro disponibile. Per altre informazioni sull'autenticazione per le app di test e produzione distribuite, vedere Proteggere i flussi di autenticazione.

Per questo articolo si inizia con il progetto core di cui è stata eseguita la migrazione parziale ASP.NET dall'articolo precedente. Per configurare la configurazione, aggiungere il costruttore e la proprietà seguenti al Startup.cs file che si trova nella radice del progetto:

public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

Si noti che a questo punto il Startup.cs file non verrà compilato, perché è comunque necessario aggiungere l'istruzione seguente using :

using Microsoft.Extensions.Configuration;

Aggiungere un appsettings.json file alla radice del progetto usando il modello di elemento appropriato:

Aggiungere Il codice JSON di AppSettings

Eseguire la migrazione delle impostazioni di configurazione da web.config

Il progetto MVC ASP.NET include il database necessario stringa di connessione in web.config, nell'elemento <connectionStrings> . Nel progetto ASP.NET Core verranno archiviate queste informazioni nel appsettings.json file. Aprire appsettings.jsone notare che include già quanto segue:

{
    "Data": {
        "DefaultConnection": {
            "ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;"
        }
    }
}

Nella riga evidenziata illustrata in precedenza modificare il nome del database da _CHANGE_ME al nome del database.

Riepilogo

ASP.NET Core inserisce tutta la logica di avvio per l'applicazione in un singolo file, in cui è possibile definire e configurare i servizi e le dipendenze necessari. Sostituisce il file web.config con una funzionalità di configurazione flessibile che può sfruttare un'ampia gamma di formati di file, ad esempio JSON, nonché variabili di ambiente.