Con la pubblicazione dei nuovi servizi .NET cambiano anche le modalità di esecuzione del framework di Microsoft sulla nostra infrastruttura. Per i servizi basati su Windows l’integrazione è più completa ed efficiente e le prestazioni migliorano notevolmente anche grazie all’uso di Windows Server 2022.
Attivare .NET 7 è molto semplice e richiede pochissimi passaggi. Dopo l’attivazione del servizio è possibile accedere alla dashboard del proprio sito Web nel Pannello di Controllo e verificare lo stato di attivazione dei framework supportati.
Attivare il supporto nel PdC
Per iniziare ad usare .NET 7 è innanzitutto necessario attivarne il supporto per il proprio sito Web. Per farlo, bisognerà accedere al Pannello di Controllo ed arrivare nella sezione del sito Web facendo click su Websites:
e poi entrare nella Dashboard del sito Web usando l’apposito pulsante:
Nella sezione Scripting indicata nell’immagine che segue è possibile verificare quali framework siano attivi per il proprio sito Web. Per attivarne uno basterà selezionare fare click su Click to enable e scegliere dall’elenco il framework che si desidera attivare:
Selezionando “.NET 7” si attiva il supporto per .NET Core, versione 7, 6, 5 e 3. Selezionando “v4.0” si attiva il supporto per il .NET Framework v4 fino alla v4.8 mentre selezionando “v2.0” verrà attivato il .NET Framework con il supporto delle versioni 2.0 e 3.5:
Questa scelta molto ampia copre tutte le versioni del .NET Framework e di .NET Core, consentendo la massima flessibilità nella pubblicazione delle proprie applicazioni.
Pubblicazione di applicazioni .NET Framework
Se si è selezionata una versione del .NET Framework non sono necessarie altre attività: il proprio account è già pronto. E’ possibile pubblicare la propria applicazione nella cartella www usando FTP o il File Manager del Pannello di Controllo.
Non sono necessarie particolari configurazioni aggiuntive.
Pubblicazione di applicazioni .NET Core
Per la pubblicazione di una applicazione .NET Core è necessario prima di tutto procedere alla creazione della sua versione pubblicabile attraverso l’uso del comando
dotnet publish
o attraverso l’uso dell’apposita funzionalità di Visual Studio. Basterà fare click con il tasto destro sulla soluzione e poi selezionare Publish o Pubblica
Nella finestra che si aprirà fare click su Folder / Cartella e poi accettare la posizione di default. Visual Studio mostrerà la finestra di configurazione.
Nella finestra di configurazione sarà possibile accedere ad ulteriori opzioni facendo click su una delle icone accanto alle opzioni. La configurazione più semplice e anche quella di default è visualizzata nell’immagine che segue:
I nuovi servizi di VaiSulWeb supportano la pubblicazione framework-dependent (“dipendente dal framework”) che consente di usare il framework appropriato installato sul server e ridurre il peso dei file da trasferire. Più avanti verranno descritte alcune ottimizzazioni ma nel frattempo è possibile fare click su Pubblica / Publish e attendere il completamento della pubblicazione dell’applicazione nella cartella prescelta. Per ottenere le migliori prestazioni assicurarsi di effettuare la pubblicazione in
modalità Release e non Debug.
I file che verranno creati nella cartella di destinazione sono quelli che devono essere pubblicati nella cartella www del server.
Configurazione di avvio delle applicazioni .NET Core
I server dei nuovi servizi .NET supportano l’esecuzione della tua applicazione con la modalità InProcess, la più efficiente e veloce.
Un esempio di file web.config da usare per la propria applicazione compare di seguito:
<?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\[applicazione].dll" stdoutLogEnabled="false" stdoutLogFile=".\log\stdout" hostingModel="inprocess" /> </system.webServer> </location> <system.webServer> <modules> <remove name="AspNetCoreModuleV2" /> <add name="AspNetCoreModuleV2" /> </modules> <staticContent> <mimeMap fileExtension="." mimeType="text/plain" /> </staticContent> </system.webServer> </configuration>
Nel file web.config precedente presta attenzione alla versione del modulo AspNetCoreModule (linea 6) che deve essere la v2 come indicato. Inoltre, presta attenzione al parametro hostingModel (linea 8) da impostare a inprocess. Nel parametro arguments è necessario sostituire il segnaposto [applicazione] con il nome della DLL prodotta dalla compilazione della propria applicazione, ad es. “demo.dll”.
Non sono necessarie altre modifiche per il funzionamento dell’applicazione. Una volta pubblicato il file e riavviato l’application pool, l’applicazione dovrebbe essere eseguita.
Ottimizzazione delle prestazioni
Ci sono alcune impostazioni che possono migliorare le prestazioni delle tue applicazioni sui nostri server. Non sei costretto ad usarle ma farlo può migliorare la risposta della tua applicazione.
Queste impostazioni causano la compilazione per un framework specifico, in questo caso win-x64 che è la piattaforma su cui girano i tuoi servizi, e l’uso della compilazione Ready2Run per generare codice ancora più ottimizzato. Dopo avere impostato questi parametri, procedi alla nuova pubblicazione del codice da Visual Studio e trasferisci i file sul server.
Attivazione del output di Debug
.NET Core consente di attivare la redirezione dell’output standard verso un file che può essere consultato per verificare l’output emesso dall’applicazione, in modo simile a quanto si può osservare nella console quando il software viene eseguito. Per attivare questa funzionalità, che comunque rallenta le prestazioni, è sufficiente modificare la linea
<aspNetCore processPath="dotnet" arguments=".\[applicazione].dll" stdoutLogEnabled="true" stdoutLogFile=".\log\stdout" hostingModel="inprocess" />
assicurandoti che il parametro stdoutLogEnabled sia impostato a true. E’ necessario poi creare una cartella log all’interno della www. Nota che quando pubblichi la tua applicazione avrai la www del server e poi una ulteriore www all’interno della tua applicazione. Quest’ultima rappresenta la radice del tuo sito Web. La cartella log non va creata a quel livello ma al livello di quella precedente.
Pubblicare le proprie applicazioni .NET Core e .NET Framework è quindi molto semplice. Qualora incontrassi delle difficoltà contatta il nostro servizio di Assistenza.
0
Leave a Comment