Come distribuire l'applicazione .NET Core in IIS

13 feb 2024 4 min di lettura
Come distribuire l'applicazione .NET Core in IIS
Indice dei contenuti

Introduzione

Inizialmente la distribuzione di un'applicazione .NET Core in Internet Information Services (IIS) può sembrare complessa, ma con i passaggi corretti diventa un processo semplice. Questa guida ti guiderà attraverso la distribuzione dell'applicazione .NET Core in IIS, dai prerequisiti alla risoluzione dei problemi comuni.

Prerequisiti

Prima di iniziare, assicurati di avere quanto segue:

  • Pacchetto runtime e hosting .NET Core : installato sul server su cui è in esecuzione IIS. Questo bundle consente a IIS di ospitare applicazioni .NET Core.
  • IIS configurato su Windows Server : assicurati che IIS sia installato e in esecuzione. È possibile installarlo tramite Windows Server Manager o PowerShell.
  • Accesso amministratore : avrai bisogno dell'accesso amministratore al server per installare il pacchetto di hosting e configurare IIS.

Passaggio 1: installare il pacchetto di hosting .NET Core

Visita la pagina di download ufficiale di .NET.

Seleziona la versione richiesta e scarica il pacchetto di hosting .NET Core

Esegui il programma di installazione sul tuo server. Verranno installati .NET Core Runtime , .NET Core Library e il modulo ASP.NET Core . Il modulo ASP.NET Core è un componente necessario per ospitare applicazioni .NET Core in IIS.

Riavviare IIS per caricare i moduli appena installati. Puoi farlo eseguendo iisreset nel prompt dei comandi.

Passaggio 2: pubblicare l'applicazione .NET Core

Utilizzando Visual Studio

Apri la tua soluzione in Visual Studio.

Fai clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e seleziona "Pubblica" .

Scegli "Cartella" come destinazione di pubblicazione e specifica una cartella in cui pubblicare i file dell'applicazione.

Fai clic su "Pubblica" , Visual Studio compilerà la tua applicazione e copierà i file necessari nella cartella specificata.

Utilizzando il prompt dei comandi

Per pubblicare l'applicazione .NET Core, passare alla directory del progetto nella riga di comando. Quindi, esegui il seguente comando:

dotnet publish -c Release

Questo comando compila l'applicazione in modalità di rilascio e invia l'output alla directory "bin/Release/netcoreapp{version}/publish" .

Passaggio 3: creare un pool di applicazioni IIS

Utilizzando Gestione IIS

Apri Gestione IIS.

Nel riquadro "Connessioni" , fare clic con il tasto destro su "Pool di applicazioni" e selezionare "Aggiungi pool di applicazioni" .

Assegnare un nome al pool di applicazioni e impostare la versione di .NET CLR su "Nessun codice gestito" poiché .NET Core non si basa sul runtime CLR. La modalità pipeline gestita deve essere impostata su "Integrata".

Fare clic su "OK" per creare il pool di applicazioni.

Utilizzando il prompt dei comandi

Apri il prompt dei comandi come amministratore.

Esegui i seguenti comandi:

cd %windir%\system32\inetsrv
appcmd add apppool /name:"DotNetCorePool" /managedRuntimeVersion:"" /managedPipelineMode:"Integrated"

Sostituisci "DotNetCorePool" con il nome che desideri dare al tuo nuovo pool di applicazioni.

Passaggio 4: distribuire l'applicazione su IIS

Utilizzando Gestione IIS

In Gestione IIS, fai clic con il pulsante destro del mouse su "Siti" nel riquadro "Connessioni" e scegli "Aggiungi sito web" .

Inserisci un nome per il tuo sito web e seleziona il pool di applicazioni creato in precedenza.

Per il percorso fisico, sfoglia e seleziona la cartella in cui hai pubblicato l'applicazione .NET Core.

Specificare le informazioni di associazione (ad esempio, indirizzo IP, porta e nome host).

Fare clic su "OK" per aggiungere il sito Web.

Utilizzando il prompt dei comandi

Puoi anche creare un sito Web in IIS utilizzando il prompt dei comandi. Per creare un sito web, digitare:

cd %windir%\system32\inetsrv
appcmd add site /name:MyWebsite /physicalPath:C:\inetpub\wwwroot\MyApp /bindings:http/*:80:example.com /apppool:DotNetCorePool

Sostituisci "MyWebsite" con il nome del tuo sito web, C:\inetpub\wwwroot\MyApp con il percorso dell'applicazione, example.com con il nome del tuo dominio e DotNetCorePool con il pool di applicazioni creato nel passaggio precedente.

Passaggio 5: configurare il modulo ASP.NET Core

Assicurati che il file web.config sia configurato correttamente affinché il modulo ASP.NET Core inoltri le richieste HTTP alla tua applicazione. Questo file deve essere incluso nell'output pubblicato e contenere impostazioni come le seguenti:

<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\YourApplication.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
  </system.webServer>
</configuration>

Sostituisci YourApplication.dll con il nome della dll dell'applicazione.

Passaggio 6: testa la tua applicazione

Apri un browser web e vai all'URL che hai configurato per il tuo sito. Se tutto è configurato correttamente, l'applicazione .NET Core dovrebbe essere in esecuzione su IIS.

Risoluzione dei problemi comuni

Errore HTTP 502.5 – Errore di processo : spesso indica un problema con il processo di avvio dell'applicazione. Controllare i registri eventi e i registri stdout (se abilitati) per errori specifici.

Errore interno del server 500 : ciò può verificarsi per vari motivi, inclusi problemi con il file web.config o dipendenze dell'applicazione. Ancora una volta, i registri sono preziosi per diagnosticare questi problemi.

404 File o directory non trovato : ciò può verificarsi se il percorso fisico dell'applicazione non è corretto o se il pool di applicazioni non è configurato correttamente.

Conclusione

La distribuzione di un'applicazione .NET Core in IIS prevede diversi passaggi, dall'installazione del bundle di hosting .NET Core alla configurazione di IIS e alla pubblicazione dell'applicazione. Seguendo questa guida è possibile garantire un processo di distribuzione fluido e avere l'applicazione .NET Core in esecuzione su IIS in pochissimo tempo. Ricorda, la risoluzione dei problemi è parte integrante della distribuzione, quindi non lasciarti scoraggiare dai intoppi iniziali; utilizzare i registri e i messaggi di errore come guide per risolvere eventuali problemi.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.