Eventi
19 nov, 23 - 21 nov, 23
Partecipa alle sessioni online di Microsoft Ignite create per espandere le tue competenze e aiutarti a risolvere i problemi complessi di oggi.
Iscriviti subitoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Nota
Questa non è la versione più recente di questo articolo. Per la versione corrente, vedere la versione .NET 9 di questo articolo.
Avviso
Questa versione di ASP.NET Core non è più supportata. Per altre informazioni, vedere i criteri di supporto di .NET e .NET Core. Per la versione corrente, vedere la versione .NET 9 di questo articolo.
Importante
Queste informazioni si riferiscono a un prodotto non definitive che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Per la versione corrente, vedere la versione .NET 9 di questo articolo.
Il servizio app di Azure è un servizio di piattaforma di cloud computing Microsoft per l'hosting di app Web, inclusa ASP.NET Core.
Per indicazioni sulla creazione di un'app moderna, affidabile, testabile, conveniente e scalabile ASP.NET'app Core, indipendentemente dalla creazione di un'app esistente o dal refactoring di un'app esistente, vedi Modello di app Web Reliable Web for.NET YouTube.
servizio app Documentazione è la home documentazione per app Azure s, esercitazioni, esempi, guide pratiche e altre risorse. Due importanti esercitazioni relative all'hosting di app ASP.NET Core sono:
Creare un'app Web ASP.NET Core in Azure
Usare Visual Studio per creare e distribuire un'app Web ASP.NET Core nel servizio app di Azure in Windows.
Creare un'app ASP.NET Core nel Servizio app in Linux
Usare la riga di comando per creare e distribuire un'app Web ASP.NET Core nel servizio app di Azure in Linux.
Per la versione di ASP.NET Core disponibile nel Servizio di app Azure, vedere il dashboard di ASP.NET Core per Servizio app.
Sottoscrivere il repository degli annunci per Servizio app e monitorare i problemi. Il team di Servizio app pubblica regolarmente annunci e scenari in arrivo in Servizio app.
Gli articoli seguenti sono disponibili nella documentazione di ASP.NET Core:
Pubblicare un'app ASP.NET Core in Azure con Visual Studio
Informazioni su come pubblicare un'app ASP.NET Core in Servizio app di Azure con Visual Studio.
Creare la prima pipeline
Impostare una build CI per un'app ASP.NET Core e quindi creare una versione di distribuzione continua in Servizio App di Azure.
Azure Web App sandbox (Sandbox per app Web di Azure)
Individuare le limitazioni di esecuzione di runtime di Servizio app di Azure applicate dalla piattaforma per le app Azure.
Risolvere i problemi ed eseguire il debug di progetti ASP.NET Core
Riconoscere e risolvere i problemi di avvisi ed errori con i progetti ASP.NET Core.
L'architettura della piattaforma (x86 o x64) di un'app di Servizio app viene specificata nelle impostazioni dell'app nel portale di Azure per le app ospitate in un livello di hosting con calcolo di serie A (Basic) o superiore. Verificare che le impostazioni di pubblicazione dell'app (ad esempio, nel profilo di pubblicazione (.pubxml) di Visual Studio) corrispondano all'impostazione nella configurazione del servizio dell'app nel portale di Azure.
ASP.NET le app Core possono essere pubblicate in base al framework perché i runtime per le app a 64 bit (x64) e a 32 bit (x86) sono presenti nel servizio app Azure. .NET Core SDK disponibile nel servizio app è a 32 bit, ma è possibile distribuire app a 64 bit compilate in locale usando la console Kudu o il processo di pubblicazione di Visual Studio. Per altre informazioni, vedere la sezione Pubblicare e distribuire l'app.
Per le app con dipendenze native, i runtime per le app a 32 bit (x86) sono disponibili in Servizio app di Azure. La versione di .NET Core SDK disponibile nel servizio app è a 32 bit.
Per altre informazioni sui componenti e sui metodi di distribuzione del framework .NET Core, ad esempio informazioni sul runtime di .NET Core e su .NET Core SDK, vedere Informazioni su .NET Core: Composizione.
Includere i pacchetti NuGet seguenti per offrire funzionalità di registrazione automatica per le app distribuite in Servizio app di Azure:
Microsoft.AspNetCore.AzureAppServicesIntegration
.Microsoft.Extensions.Logging.AzureAppServices
.È necessario fare riferimento ai pacchetti precedenti in modo esplicito nel file di progetto dell'app.
Le impostazioni dell'app nel portale di Azure consentono di impostare le variabili di ambiente per l'app. Le variabili di ambiente possono essere utilizzate dal provider di configurazione delle variabili di ambiente.
Quando nel portale di Azure viene creata o modificata un'impostazione dell'app e viene selezionato il pulsante Salva, l'app Azure viene riavviata. La variabile di ambiente risulterà disponibile per l'app dopo il riavvio del servizio.
Le variabili di ambiente vengono caricate nella configurazione dell'app quando viene chiamato CreateBuilder per compilare l'host. Per altre informazioni, vedere Provider di configurazione delle variabili di ambiente.
Le impostazioni dell'app nel portale di Azure consentono di impostare le variabili di ambiente per l'app. Le variabili di ambiente possono essere utilizzate dal provider di configurazione delle variabili di ambiente.
Quando nel portale di Azure viene creata o modificata un'impostazione dell'app e viene selezionato il pulsante Salva, l'app Azure viene riavviata. La variabile di ambiente risulterà disponibile per l'app dopo il riavvio del servizio.
Quando un'app usa l'host Web, le variabili di ambiente vengono caricate nella configurazione dell'app quando si chiama CreateDefaultBuilder per creare l'host. Per altre informazioni, vedere Host Web ASP.NET Core e Provider di configurazione delle variabili di ambiente.
Il middleware di integrazione IIS, che consente di configurare il middleware delle intestazioni inoltrate in caso di hosting out-of-process, e il modulo ASP.NET Core sono configurati per inoltrare lo schema (HTTP/HTTPS) e l'indirizzo IP remoto di origine della richiesta. Potrebbero essere necessari interventi di configurazione aggiuntivi per le app ospitate dietro ulteriori server proxy e servizi di bilanciamento del carico. Per altre informazioni, vedere Configurare ASP.NET Core per l'utilizzo di server proxy e servizi di bilanciamento del carico.
Le app ASP.NET Core distribuite in Servizio app di Azure ricevono automaticamente l'estensione di Servizio app ASP.NET Core Logging Integration (Integrazione di registrazione ASP.NET Core). L'estensione abilita l'integrazione della registrazione per le app ASP.NET Core in Servizio app di Azure.
Le app ASP.NET Core distribuite in Servizio app ricevono automaticamente un'estensione di Servizio app, ovvero le estensioni di registrazione di ASP.NET Core. L'estensione abilita l'integrazione della registrazione per le app ASP.NET Core in Servizio app di Azure.
Per informazioni sul monitoraggio, la registrazione e la risoluzione dei problemi, vedere gli articoli seguenti:
Monitorare le app in Servizio app di Azure
Informazioni su come esaminare le quote e le metriche per le app e i piani del servizio app.
Abilitare la registrazione diagnostica per le app nel Servizio app di Azure
Informazioni su come abilitare e accedere alla registrazione diagnostica per i codici di stato HTTP, le richieste non riuscite e l'attività del server Web.
Gestire gli errori in ASP.NET Core
Riconoscimento degli approcci comuni di gestione degli errori nelle app ASP.NET Core.
Risolvere i problemi di ASP.NET Core in Servizio app di Azure e IIS
Informazioni su come diagnosticare i problemi delle distribuzioni del servizio app di Azure con le app ASP.NET Core.
Risoluzione di errori comuni di Servizio app di Azure e IIS con ASP.NET Core
Informazioni sugli errori comuni di configurazione della distribuzione per le app ospitate dal servizio app di Azure o da IIS con suggerimenti per la risoluzione.
Le chiavi di protezione dati vengono mantenute nella cartella %HOME%\ASP.NET\DataProtection-Keys . La cartella è associata all'archiviazione di rete e sincronizzata in tutti i computer che ospitano l'app. Le chiavi non sono protette in rest. La cartella offre il KeyRing a tutte le istanze di un'app in un singolo slot di distribuzione. Gli slot di distribuzione separati, ad esempio gli slot di gestione temporanea e di produzione, non condividono un KeyRing.
Nel passaggio da uno slot di distribuzione all'altro, tutti i sistemi che usano la protezione dati non saranno in grado di decrittografare i dati archiviati usando il KeyRing all'interno dello slot precedente. Cookie ASP.NET Middleware usa la protezione dei dati per proteggere i cookie. Di conseguenza, gli utenti vengono disconnessi da un'app che usa il middleware dei Cookie di ASP.NET standard. Per una soluzione di KeyRing indipendente dallo slot, usare un provider di KeyRing esterno, ad esempio:
Per altre informazioni, vedere Provider di archiviazione chiavi in ASP.NET Core.
Per distribuire un'app che usa una versione di anteprima di .NET Core, vedere le risorse seguenti. Questi approcci vengono usati anche quando il runtime è disponibile, ma l'SDK non è stato installato in Servizio app di Azure.
Per la versione di ASP.NET Core disponibile nel Servizio di app Azure, vedere il dashboard di ASP.NET Core per Servizio app.
Vedere Selezionare la versione di .NET Core da usare per informazioni sulla selezione della versione di .NET SDK per le distribuzioni autonome.
Usare scenari CI/CD di Servizio app di Azure per configurare una compilazione di integrazione continua con Azure DevOps. Dopo aver creato la compilazione di Azure DevOps, configurare facoltativamente la compilazione per l'uso di una versione specifica dell'SDK.
Quando si usa il centro di distribuzione di Servizio app per creare una compilazione di Azure DevOps, la pipeline di compilazione predefinita include i passaggi per Restore
, Build
, Test
e Publish
. Per specificare la versione dell'SDK, selezionare il pulsante Aggiungi (+) nell'elenco Processo agente per aggiungere un nuovo passaggio. Cercare .NET Core SDK nella barra di ricerca.
Spostare il passaggio nella prima posizione della compilazione in modo che i passaggi successivi usino la versione specificata di .NET Core SDK. Specificare la versione di .NET Core SDK. In questo esempio la versione dell'SDK è impostata su 3.0.100
.
Per pubblicare una distribuzione autonoma, configurare la distribuzione autonoma nel passaggio Publish
e specificare l'identificatore di runtime (RID).
Una distribuzione autonoma che ha come destinazione un runtime di anteprima include il runtime di anteprima nella distribuzione.
Per la distribuzione di un'app autonoma:
Seguire le istruzioni riportate nella sezione Distribuire l'app autonoma.
L'hub Docker in https://hub.docker.com/_/microsoft-dotnet
contiene le immagini Docker di anteprima più recenti. Le immagini possono essere usate come immagini di base. Usare l'immagine e distribuirla alle app Web per i contenitori normalmente.
Se si verifica un problema con l'estensione del sito di anteprima, aprire un problema dotnet/AspNetCore.
{X.Y}
è la versione di anteprima di ASP.NET Core e {x64|x86}
specifica la piattaforma.Al termine dell'operazione, viene installata l'anteprima più recente di .NET Core. Verificare l'installazione:
Selezionare Strumenti avanzati.
Selezionare Vai in Strumenti avanzati.
Selezionare l'elemento di menu Console di debug>PowerShell.
Eseguire il comando seguente dal prompt di PowerShell. Sostituire la versione di runtime di ASP.NET Core in {X.Y}
e la piattaforma in {PLATFORM}
nel comando:
Test-Path D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.{PLATFORM}\
Il comando restituisce True
quando è installato il runtime di anteprima x64.
Nota
L'architettura della piattaforma (x86 o x64) di un'app di Servizio app viene specificata nelle impostazioni dell'app nel portale di Azure per le app ospitate in un livello di hosting con calcolo di serie A (Basic) o superiore. Verificare che le impostazioni di pubblicazione dell'app (ad esempio, nel profilo di pubblicazione (.pubxml) di Visual Studio) corrispondano all'impostazione nella configurazione del servizio dell'app nel portale di Azure.
Se l'app viene eseguita in modalità in-process e l'architettura della piattaforma è configurata per 64 bit (x64), il modulo ASP.NET Core usa il runtime dell'anteprima a 64 bit, se presente. Installare l'estensione ASP.NET Core {X.Y} (x64) Runtime usando il portale di Azure.
Dopo aver installato il runtime di anteprima x64, eseguire il comando seguente nella finestra di comando di PowerShell di Kudu di Azure per verificare l'installazione. Sostituire la versione di runtime di ASP.NET Core per {X.Y}
nel comando seguente:
Test-Path D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64\
Il comando restituisce True
quando è installato il runtime di anteprima x64.
Usare l'estensione del sito di anteprima con un modello ARM
Se per creare e distribuire le app si usa un modello ARM, è possibile usare il tipo di risorsa Microsoft.Web/sites/siteextensions
per aggiungere l'estensione del sito a un'app Web. Nell'esempio seguente l'estensione del sito di runtime ASP.NET Core 5.0 (x64) (AspNetCoreRuntime.5.0.x64
) viene aggiunta all'app:
{
...
"parameters": {
"site_name": {
"defaultValue": "{SITE NAME}",
"type": "String"
},
...
},
...
"resources": [
...
{
"type": "Microsoft.Web/sites/siteextensions",
"apiVersion": "2018-11-01",
"name": "[concat(parameters('site_name'), '/AspNetCoreRuntime.5.0.x64')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('site_name'))]"
]
}
]
}
Per il segnaposto {SITE NAME}
, usare il nome dell'app in Servizio app di Azure (ad esempio, contoso
).
Per una distribuzione a 64 bit:
Le app pubblicate come dipendenti dal framework sono multipiattaforma e non includono il runtime .NET nella distribuzione. app Azure Servizio include il runtime .NET.
win-x86
.La pubblicazione di un'app come indipendente produce un eseguibile specifico della piattaforma. La cartella di pubblicazione dell'output contiene tutti i componenti dell'app, incluse le librerie .NET e il runtime di destinazione. Per altre informazioni, vedere [Pubblicare self-contained]/dotnet/core/deploying/#publish-self-contained). Usare Visual Studio o l'interfaccia della riga di comando di .NET per una distribuzione autonoma (SCD).
win-x86
.Le associazioni di protocollo protette consentono di specificare un certificato da usare per rispondere alle richieste su HTTPS. L'associazione richiede un certificato privato valido (PFX) rilasciato per il nome host specifico. Per altre informazioni, vedere Esercitazione: Associare un certificato SSL personalizzato esistente a Servizio app di Azure.
Se è necessario trasformare web.config in fase di pubblicazione (ad esempio, impostare variabili di ambiente in base a configurazione, profilo o ambiente), vedere Trasformare web.config.
Il servizio app di Azure in Windows Server usa Internet Information Services (IIS). Kestrel e YARP sul front-end fornisce il servizio di bilanciamento del carico. Gli argomenti seguenti riguardano la tecnologia IIS sottostante:
Feedback su ASP.NET Core
ASP.NET Core è un progetto di open source. Selezionare un collegamento per fornire feedback:
Eventi
19 nov, 23 - 21 nov, 23
Partecipa alle sessioni online di Microsoft Ignite create per espandere le tue competenze e aiutarti a risolvere i problemi complessi di oggi.
Iscriviti subito