Condividi tramite


IIS 8.0 Con ASP.NET 3.5 e ASP.NET 4.5

di Won Yoo

Compatibilità

Versione Note
IIS 8.0 ASP.NET 3.5 e ASP.NET 4.5 sono supportati in IIS 8.0.
IIS 7.5 ASP.NET 3.5 e ASP.NET 4.5 sono supportati in IIS 7.5.
IIS 7.0 ASP.NET 3.5 e ASP.NET 4.5 sono supportati in IIS 7.0.

Problema

Windows Server 2012 include .NET Framework 4.5 per impostazione predefinita, nonché l'installazione facoltativa di .NET 3.5 Framework. Gli sviluppatori devono spesso eseguire applicazioni Web miste in più versioni di .NET Framework.

Soluzione

IIS 8.0 in Windows Server 2012 esegue applicazioni ASP.NET in tutte le versioni di .NET Framework supportate in Windows Server 2012. Ciò significa che ASP.NET applicazioni possono essere eseguite in IIS 8.0 usando .NET Framework 3.5 o .NET Framework 4.5. IIS 8.0 ospita versioni di .NET Framework in pool di applicazioni diversi, consentendo così l'esecuzione simultanea di più applicazioni ASP.NET con diverse versioni di .NET Framework in Windows Server 2012.

IIS 8.0 supporta anche la gestione di applicazioni sia ASP.NET 3.5 che di ASP.NET 4.5 usando sia lo strumento di Gestione IIS grafico sia gli strumenti di gestione della riga di comando di IIS. Per altre informazioni, vedere l'articolo Gestione configurazione iis 8.0 ASP.NET.

Istruzioni dettagliate

Prerequisiti

Configurazione di IIS 8.0 con supporto per ASP.NET 3.5 e ASP.NET 4.5

In Windows Server 2012, sia .NET Framework 3.5 che .NET Framework 4.5 vengono riconosciuti in modo nativo dal sistema operativo. Ciò significa che è possibile usare sia l'installazione basata su interfaccia utente che quella basata su riga di comando per attivare entrambe le versioni di .NET Framework, nonché abilitare l'integrazione di entrambe le versioni di ASP.NET con IIS 8.0.

Per questa procedura dettagliata si userà la nuova interfaccia utente di Server Manager in Windows Server 2012 Server per dimostrare di abilitare sia ASP.NET 3.5 che ASP.NET 4.5 in IIS 8.0.

  1. Quando si accede per la prima volta a un nuovo computer Windows Server 2012, verrà visualizzata la nuova interfaccia utente di Server Manager. Fare clic su Aggiungi ruoli come illustrato di seguito:
    Screenshot della nuova interfaccia utente di Server Manager con i ruoli aggiunti evidenziati.

  2. Nella prima schermata di Aggiunta guidata ruoli e funzionalità fare clic su Avanti. Verrà visualizzata una pagina in cui si seleziona il tipo di installazione desiderato. Scegliere l'installazione basata su ruoli o basata su funzionalità, come illustrato di seguito:
    Screenshot dell'aggiunta guidata ruoli e funzionalità con l'opzione di installazione basata su ruoli o basata su funzionalità evidenziata.

  3. Fare clic su Avanti. Nella schermata successiva della procedura guidata viene chiesto di scegliere il server che si sta configurando.

  4. Nel passaggio successivo della procedura guidata verrà chiesto di selezionare uno o più ruoli del server. Scorrere verso il basso nell'elenco Ruoli e assicurarsi di selezionare la casella di controllo Server Web (IIS), come illustrato di seguito:
    Screenshot dell'elenco Ruoli del server in Aggiunta guidata ruoli e funzionalità con Server Web I S selezionato e evidenziato.

  5. Fare clic su Avanti per procedere con il passaggio successivo, che consente di selezionare funzionalità specifiche aggiuntive da installare nel server. Fare di nuovo clic su Avanti e procedere con il passaggio successivo.

  6. Il passaggio successivo della procedura guidata visualizza alcune informazioni introduttive sul ruolo Server Web (IIS). Fare di nuovo clic su Avanti e procedere con il passaggio successivo. A questo punto si dovrebbe essere in un passaggio della procedura guidata simile al seguente:
    Screenshot dell'elenco Servizi ruolo per selezionare e installare nel server Web I S con lo strumento di gestione evidenziato.

  7. Si noti che alcune funzionalità secondarie predefinite per IIS sono già state attivate perché è stato selezionato il ruolo del server Web (IIS) in precedenza. Tuttavia, si vuole abilitare sia ASP.NET 3.5 che ASP.NET 4.5 per l'esecuzione in IIS 8.0, quindi è necessario abilitare alcune funzionalità aggiuntive correlate a IIS. Scorrere verso il basso nell'elenco Servizi ruolo fino a visualizzare il nodo Sviluppo applicazioni. Questo nodo viene inizialmente compresso, fare clic sul nodo ed espanderlo in modo che vengano visualizzati i relativi elementi figlio:
    Screenshot dell'elenco Servizi ruolo con il nodo Sviluppo di applicazioni evidenziato.

  8. Il nodo Sviluppo di applicazioni è il punto in cui viene abilitata l'integrazione ASP.NET con IIS. Si noti che nell'elenco delle funzionalità sono presenti alcune caselle di controllo con nomi simili. La coppia di caselle di controllo di interesse per questa procedura dettagliata è:

    • ASP.NET 3. 5 - Questa opzione consente di eseguire ASP.NET 3.5 in IIS 8.0. Si noti che con Windows Server 2012, .NET Framework 3.5 non è disponibile come parte dell'immagine del sistema operativo di base. Il payload viene invece scaricato da Internet ed è necessario connettersi a Internet.
    • ASP.NET 4.5 : questa opzione consente di eseguire ASP.NET 4.5 in IIS 8.0.
  9. Fare prima clic sulla casella di controllo ASP.NET 3.5 . In questo caso, verrà visualizzata una finestra di dialogo aggiuntiva, come illustrato di seguito:
    Screenshot della finestra di dialogo con la domanda Aggiungi funzionalità necessarie per A S P dot NET 3 point 5.

  10. Poiché ASP.NET 3.5 è integrato nell'installazione di Windows Server 2012, Windows Server 2012 conosce tutte le dipendenze correlate necessarie per abilitare ASP.NET 3.5 in IIS 8.0. Questa finestra di dialogo popup mostra solo ciò che verrà automaticamente inserito e installato. Poiché si vuole abilitare ASP.NET 3.5, fare clic su Aggiungi funzionalità necessarie.

  11. Fare quindi clic sulla casella di controllo ASP.NET 4.5 nell'elenco delle funzionalità Servizi ruolo. Di seguito è riportato il risultato finale della selezione di entrambe le caselle di controllo correlate ASP.NET:
    Screenshot dell'elenco delle funzionalità di Servizi ruolo con un punto P S.NET 4 punto 5 selezionato e evidenziato.

  12. Anche se è stato selezionato direttamente solo il ASP.NET 3.5 e ASP.NET funzionalità 4.5 , la procedura guidata ha attivato automaticamente diversi altri elementi. Questa operazione viene eseguita automaticamente in modo che gli sviluppatori non devono scegliere in modo esplicito i vari componenti necessari per "assembly" di ASP.NET in Windows Server 2012. A questo punto fare clic su Avanti per accettare le modifiche.

  13. Il passaggio Conferma selezioni installazione visualizza un elenco di tutte le funzionalità installate se si accettano le modifiche.
    Screenshot di Conferma selezioni di installazione che mostra un elenco di tutte le funzionalità installate se le modifiche accettate con conferma evidenziate.

  14. A questo punto, fare clic su Installa per accettare le modifiche e installare il supporto completo ASP.NET in Windows Server 2012.

  15. Poiché il completamento dell'installazione richiederà poco tempo, la procedura guidata visualizza una finestra di dialogo di stato mentre l'installazione procede:
    Screenshot della finestra di dialogo Stato installazione che mostra lo stato dell'attività con l'elemento Risultati evidenziato.

  16. Dopo alcuni minuti la procedura guidata mostra che l'installazione è stata completata:
    Screenshot dello stato dell'installazione che mostra l'installazione completata in Aggiunta guidata ruoli e funzionalità.

  17. A questo punto, è possibile fare clic su Chiudi e uscire dalla procedura guidata.

Esplorazione dell'installazione di IIS 8.0

Con l'integrazione di IIS 8.0 e ASP.NET installato, è possibile esaminare il footprint di base ASP.NET per IIS 8.0.

  1. In Windows menu Start selezionare Tutti i programmi e quindi espandere il menu Strumenti Amministrazione istrative. Nell'elenco risultante trovare Gestione Internet Information Services (IIS) e selezionarlo per avviare lo strumento di gestione IIS grafico:
    Screenshot del menu Strumenti Amministrazione istrative espanso con Internet Information Services I Manager evidenziato.

  2. Dopo l'avvio di Gestione IIS, espandere il nodo server nella finestra a sinistra in modo che siano visualizzati sia il nodo Pool di applicazioni che il nodo Siti. Quando si esegue questa operazione, Gestione IIS verrà visualizzata una finestra di dialogo che chiede se si vuole rimanere connessi con i componenti della piattaforma Web più recenti. Per questa procedura dettagliata, è possibile fare clic su No. A questo punto Gestione IIS è simile all'immagine seguente:
    Screenshot di I S Manager che mostra il nodo Pool di applicazioni e il nodo Siti espansi con Il programma di installazione della piattaforma Web evidenziato.

  3. Fare clic sul nodo Pool di applicazioni per visualizzare i pool di applicazioni che sono stati installati per l'uso da IIS 8.0:
    Screenshot del nodo Pool di applicazioni con l'elenco dei pool di applicazioni installati per l'uso da I S 8 punto 0.

  4. È possibile notare che sei pool di applicazioni diversi vengono creati per impostazione predefinita quando sia ASP.NET 3.5 che ASP.NET 4.5 sono abilitati per IIS 8.0. Quattro delle applicazioni sono nuove per IIS 8.0, mentre altri due pool di applicazioni sono stati portati avanti dalle versioni precedenti di Windows.

    • Si noti che anche se la colonna versione di .NET Framework mostra "v2.0" e "v4.0" per le versioni di .NET Framework, questi equivalgono a ASP.NET 3.5 e ASP.NET 4.5. A causa delle informazioni interne sulla modalità di associazione dei pool di applicazioni alle versioni di .NET Framework, il nome effettivo della versione scritto nella configurazione (e quindi visualizzato nello strumento) corrisponde alla versione originale del file .NET Framework.
    • Le versioni precedenti di .NET AppPool e DefaultAppPool esistono nelle versioni precedenti di Windows e continuano quindi a essere create per IIS 8.0. Si noti tuttavia che poiché .NET Framework 4.5 è l'impostazione predefinita di .NET Framework per l'uso da parte di Windows Server 2012, anche "DefaultAppPool" in IIS 8.0 usa la versione più recente di .NET Framework.
    • Gli altri quattro pool di applicazioni sono nuovi in Windows Server 2012. Sono disponibili due pool di applicazioni per l'esecuzione di .NET Framework 3.5 (.NET v2.0 e .NET v2.0 classico) e due pool di applicazioni per l'esecuzione di .NET Framework 4.5 (.NET Framework 4.5 e .NET Framework 4.5 classico).
    • La differenza tra i pool di applicazioni "classici" e "non classici" è la modalità pipeline gestita supportata in ogni tipo di pool di applicazioni. I due pool di applicazioni che terminano con "classico" supportano la modalità della pipeline classica di Windows Server 2003 precedente per ASP.NET, mentre gli altri due pool di applicazioni usano la modalità pipeline integrata più recente per ASP.NET introdotta in Vista/IIS7.0.
  5. Esplorando ulteriormente, espandere il nodo Siti sul lato sinistro dello schermo in modo che il nodo Sito Web predefinito sia visibile:
    Screenshot di Sites nod espanso con il nodo Sito Web predefinito evidenziato.

  6. Le installazioni predefinite di IIS hanno sempre un "Sito Web predefinito" configurato per l'ascolto delle richieste HTTP sulla porta 80. Esaminare "Sito Web predefinito" per visualizzare la versione di ASP.NET supportata per impostazione predefinita. Fare clic con il pulsante destro del mouse su Sito Web predefinito, quindi scegliere Gestisci sito Web e selezionare Avanzate Impostazioni come illustrato di seguito:
    Screenshot della home page del sito Web predefinito con Gestisci sito Web e avanzate Impostazioni selezionati e evidenziati.

  7. Viene visualizzata la finestra di dialogo Avanzate Impostazioni, che mostra, tra le altre cose, il pool di applicazioni usato per eseguire il "Sito Web predefinito". Come illustrato nell'immagine seguente, il "Sito Web predefinito" viene eseguito nel pool di applicazioni denominato "DefaultAppPool":
    Screenshot della finestra di dialogo Avanzate Impostazioni che mostra il pool di applicazioni e il pool di app predefinito evidenziati.

  8. Se si fa clic sul piccolo pulsante con i puntini di sospensione sul lato destro del pool di applicazioni, viene visualizzata una finestra di dialogo aggiuntiva che visualizza altre informazioni su "DefaultAppPool". Come indicato in precedenza, l'impostazione predefinita "DefaultAppPool" è ASP.NET 4.5 per IIS 8.0, quindi ASP.NET 4.5 applicazioni distribuite nel "Sito Web predefinito" funzioneranno senza ulteriori configurazioni.
    Screenshot della finestra di dialogo Seleziona pool di applicazioni che mostra il pool di app predefinito e le relative proprietà nel pool di applicazioni.

  9. A questo punto, fare clic su Annulla per annullare sia la finestra di dialogo Seleziona pool di applicazioni che la finestra di dialogo Avanzate Impostazioni.

Esecuzione di applicazioni sia ASP.NET 3.5 che di ASP.NET 4.5

Dopo aver esaminato lo stato di installazione di IIS 8.0, provare a eseguire codice di esempio ASP.NET per verificare che sia ASP.NET 3.5 che ASP.NET applicazioni 4.5 possano essere eseguite contemporaneamente in una singola installazione di IIS 8.0.

Il codice di esempio per ASP.NET 3.5 e ASP.NET 4.5 è contenuto nei .zip seguenti:

Screenshot di esempi con estensione zip.

Innanzitutto, configurare una semplice applicazione ASP.NET 3.5 in IIS 8.0:

  1. Aprire il file "examples.zip".

  2. In Esplora risorse del computer Windows Server 2012 passare alla directory "wwwroot" per l'installazione di IIS. Ad esempio, se IIS è stato installato nell'unità C:\, la directory "wwwroot" sarà all'indirizzo c:\inetpub\wwwroot.

  3. Copiare la cartella "example35" da "examples.zip" e incollarla nella directory c:\inetpub\wwwroot. Al termine, la struttura di directory dovrebbe essere simile alla seguente:
    Screenshot della directory locale nell'unità C con l'esempio 35 cartella evidenziata.

  4. La cartella "example35" appena creata deve essere configurata come applicazione ASP.NET 3.5 in Gestione IIS. Tornare alla finestra Gestione IIS, fare clic sul nodo Sito Web predefinito e selezionare Aggiorna. La visualizzazione albero dei nodi figlio nel sito Web predefinito mostra ora la cartella "example35":
    Screenshot della visualizzazione albero dei nodi figlio nel nodo sito Web predefinito con l'esempio 35 cartella evidenziata.

  5. Fare clic con il pulsante destro del mouse sulla cartella example35 e scegliere Converti in applicazione:
    Screenshot dell'esempio 35 cartella su cui si è fatto clic con il pulsante destro del mouse e l'opzione Converti in applicazione selezionata e evidenziata.

  6. Verrà visualizzata la finestra di dialogo Aggiungi applicazione . Per impostazione predefinita, tutte le directory all'interno del sito Web predefinito fanno parte del pool di applicazioni denominato DefaultAppPool. Ciò significa che le nuove cartelle create contenenti ASP.NET vengono eseguite come applicazioni ASP.NET 4.5 per impostazione predefinita.
    Screenshot della finestra di dialogo Aggiungi applicazione con il pool di applicazioni e il pool di app predefinito visualizzato accanto al pulsante Seleziona evidenziato.

  7. Poiché si vuole eseguire la cartella example35 come applicazione ASP.NET 3.5, è necessario modificare il pool di applicazioni. Fare clic su Seleziona e nella finestra di dialogo Seleziona pool di applicazioni visualizzata. Modificare il pool di applicazioni in .NET v2.0 come illustrato di seguito:
    Screenshot della finestra di dialogo Seleziona pool di applicazioni con il punto 2 punto 0 nella barra dei menu evidenziato.

  8. Fare clic sul pulsante OK per accettare la modifica del pool di applicazioni e quindi fare di nuovo clic su OK per eseguire il commit delle modifiche in IIS. Viene visualizzata di nuovo la finestra Gestione IIS. Nella visualizzazione albero che mostra "Sito Web predefinito", l'icona per "example35" viene modificata per indicare che è ora un'applicazione ASP.NET separata.
    Screenshot della visualizzazione albero sito Web predefinita che mostra il sito Web predefinito e l'icona evidenziata, ad esempio 35 cartelle modificate.

  9. A questo punto avviare un'istanza di Internet Explorer e passare all'URL seguente:

    http://localhost/example35

    Dopo una breve pausa, l'applicazione visualizza un elenco delle funzionalità di .NET Framework supportate in questa applicazione.

  10. in Esplora risorse, se si passa alla c:\inetpub\wwwroot\example35 directory, è possibile usare il Blocco note per esaminare il codice per "default.aspx" e le informazioni in "web.config". Ad esempio, il contenuto di web.config include direttive che configurano i compilatori .NET Framework per l'esecuzione in modalità "3.5". Il codice .NET Framework in "default.aspx" illustra alcuni costrutti C# introdotti in .NET 3.5, in particolare query LINQ-to-Object.

Ora che è in esecuzione un'applicazione ASP.NET 3.5, è possibile creare una seconda applicazione ASP.NET, ma questa volta configurarla per l'uso di .NET Framework 4.5.

  1. Tornare alla finestra di Esplora risorse con il file .zip "examples.zip" aperto.

  2. Aprire il contenuto della cartella "example45".

  3. Nella seconda finestra di Esplora risorse aperta passare a c:\inetpub\wwwroot.

  4. Copiare il file "default.aspx" dal file .zip e incollarlo direttamente in c:\inetpub\wwwroot. Il contenuto della cartella per c:\inetpub\wwwroot dovrebbe essere simile al seguente:
    Screenshot delle cartelle dell'unità C del disco locale con il punto predefinito evidenziato da un file s p x.

  5. Tornare ora a Internet Explorer e passare all'URL seguente:

    http://localhost/default.aspx

    Dopo una breve pausa, un secondo pool di applicazioni inizierà a eseguire un'applicazione ASP.NET 4.5 per il "Sito Web predefinito". Il browser visualizza nuovamente un elenco delle funzionalità di .NET Framework supportate in questa applicazione con una nuova voce alla fine dell'elenco per le variabili tipate in modo dinamico, ovvero la parola chiave dinamica introdotta in .NET Framework 4.0/4.5. Si noti che a differenza dell'applicazione "example35" che richiedeva voci web.config speciali, non è stato necessario alcun file web.config per configurare ed eseguire la pagina "default.aspx" nel "Sito Web predefinito". Questo perché .NET Framework 4.5 è l'istanza predefinita di .NET Framework usata dalle applicazioni ASP.NET in IIS 8.0 e di conseguenza non è necessaria alcuna configurazione aggiuntiva.

  6. Se si usa Blocco note per aprire la pagina "default.aspx" appena copiata, verranno visualizzate anche alcune modifiche rispetto alla versione nella directory "example35". Nella parte superiore della pagina non sono presenti direttive dello spazio dei nomi poiché .NET Framework 4.5 è l'impostazione predefinita in IIS 8.0. Il codice nella pagina illustra l'uso di una variabile dinamica , che è un concetto di compilatore introdotto in .NET Framework 4.0/4.5.

Riepilogo

IIS 8.0 supporta l'esecuzione di applicazioni ASP.NET 3.5 e ASP.NET 4.5 nello stesso computer usando pool di applicazioni diversi per ospitare ogni versione di .NET Framework. IIS 8.0 supporta più versioni di .NET Framework consente agli sviluppatori e agli amministratori di sfruttare appieno IIS 8.0 mantenendo al contempo la compatibilità con le versioni precedenti con le applicazioni Web eseguite da Windows Server 2008 R2.