IIS 8.0 com ASP.NET 3.5 e ASP.NET 4.5
por Won Yoo
Compatibilidade
Versão | Observações |
---|---|
IIS 8.0 | O ASP.NET 3.5 e ASP.NET 4.5 têm suporte no IIS 8.0. |
IIS 7.5 | O ASP.NET 3.5 e ASP.NET 4.5 têm suporte no IIS 7.5. |
IIS 7.0 | O ASP.NET 3.5 e ASP.NET 4.5 têm suporte no IIS 7.0. |
Problema
O Windows Server 2012 inclui o .NET Framework 4.5 por padrão, bem como a instalação opcional do .NET 3.5 Framework. Os desenvolvedores frequentemente precisam executar aplicativos Web mistos em várias versões do .NET Framework.
Solução
O IIS 8.0 no Windows Server 2012 executa aplicativos ASP.NET em todas as versões do .NET Framework com suporte no Windows Server 2012. Isso significa que os aplicativos ASP.NET podem ser executados no IIS 8.0 usando o .NET Framework 3.5 ou o .NET Framework 4.5. O IIS 8.0 hospeda versões do .NET Framework em diferentes pools de aplicativos, permitindo assim que vários aplicativos ASP.NET com diferentes versões do .NET Framework sejam executados simultaneamente no Windows Server 2012.
O IIS 8.0 também dá suporte ao gerenciamento de aplicativos ASP.NET 3.5 e ASP.NET 4.5 usando a ferramenta gráfica Gerenciador do IIS, bem como as ferramentas de gerenciamento de linha de comando do IIS. Para obter mais informações, confira o artigo Gerenciamento de configuração do IIS 8.0 no ASP.NET.
Instruções passo a passo
Pré-requisitos
- O IIS está instalado no Windows Server 2012. Para saber mais sobre como instalar o IIS 8, confira Instalação do IIS 8 no Windows Server 2012.
Configurando o IIS 8.0 com suporte para ASP.NET 3.5 e ASP.NET 4.5
No Windows Server 2012, tanto o .NET Framework 3.5 quanto o .NET Framework 4.5 são reconhecidos nativamente pelo sistema operacional. Isso significa que tanto a configuração baseada em interface de usuário quanto a configuração baseada em linha de comando podem ser usadas para ativar ambas as versões do .NET Framework, bem como permitir a integração de ambas as versões do ASP.NET com o IIS 8.0.
Para este passo a passo, usaremos a nova interface de usuário do Gerenciador do Servidor no Windows Server 2012 para demonstrar como habilitar tanto o ASP.NET 3.5 quanto o ASP.NET 4.5 no IIS 8.0.
Quando você faz logon pela primeira vez em um novo computador do Windows Server 2012, a nova interface do usuário do Gerenciador do Servidor será exibida. Clique em adicionar funções conforme mostrado abaixo:
Na primeira tela do Assistente para Adicionar funções e recursos, clique em Avançar. Isso exibirá uma página onde você selecionará o tipo de instalação desejado. Escolha a instalação Baseada em função ou Baseada em recursos, conforme mostrado abaixo:
Clique em Avançar. A próxima tela do assistente pede que você escolha o servidor que está configurando.
Na próxima etapa do assistente, você será solicitado a selecionar uma ou mais funções de servidor. Role para baixo na lista Funções e certifique-se de marcar a caixa de seleção Servidor Web (IIS), conforme mostrado abaixo:
Clique em Avançar para prosseguir para a próxima etapa, que permite selecionar recursos específicos adicionais para instalar no servidor. Clique em Avançar novamente e prossiga para a próxima etapa.
A próxima etapa do assistente exibe algumas informações introdutórias sobre a função do Servidor Web (IIS). Clique em Avançar novamente e prossiga para a próxima etapa. Agora você deve estar em uma etapa do assistente semelhante à seguinte:
Observe que vários sub-recursos padrão do IIS já foram ativados porque você selecionou anteriormente a função de servidor do Servidor Web (IIS). No entanto, queremos habilitar o ASP.NET 3.5 e o ASP.NET 4.5 para serem executados no IIS 8.0, portanto, precisamos habilitar alguns recursos adicionais relacionados ao IIS. Role para baixo na lista Serviços de função até que o nó Desenvolvimento de aplicativos seja exibido. Esse nó está inicialmente colapsado, clique no nó e expanda para que seus filhos sejam exibidos:
O nó Desenvolvimento de Aplicativos é onde habilitamos a integração do ASP.NET com o IIS. Observe que há algumas caixas de seleção na lista de recursos com nomes semelhantes. O par de caixas de seleção que são de interesse deste passo a passo são:
- ASP.NET 3. 5 – Esta opção permite que o ASP.NET 3.5 seja executado no IIS 8.0. Observe que com o Windows Server 2012, o .NET Framework 3.5 não está disponível como parte da imagem base do sistema operacional. O conteúdo é baixado da Internet e você precisa se conectar à Internet.
- ASP.NET 4.5 – Esta opção permite que o ASP.NET 4.5 seja executado no IIS 8.0.
Primeiro, clique na caixa de seleção ASP.NET 3.5. Ao fazer isso, uma caixa de diálogo adicional será exibida, conforme mostrado abaixo:
Como o ASP.NET 3.5 está integrado à configuração do Windows Server 2012, o Windows Server 2012 conhece todas as dependências relacionadas necessárias para habilitar o ASP.NET 3.5 no IIS 8.0. Esta caixa de diálogo pop-up somente mostra o que será automaticamente extraído e instalado. Como queremos o ASP.NET 3.5 habilitado, clique em Adicionar recursos necessários.
Em seguida, clique na caixa de seleção do ASP.NET 4.5 na lista de recursos Serviços de função. O resultado final de clicar em ambas as caixas de seleção relacionadas ao ASP.NET é mostrado abaixo:
Mesmo que você tenha selecionado diretamente somente os recursos do ASP.NET 3.5 e do ASP.NET 4.5, o assistente ativou automaticamente vários outros itens. Isso é feito automaticamente para que os desenvolvedores não precisem escolher explicitamente os diversos componentes necessários para o "assembly" do ASP.NET no Windows Server 2012. Neste ponto, clique em Avançar para aceitar as alterações.
A etapa Confirmar seleções de instalação exibe uma lista de todos os recursos instalados se você aceitar as alterações.
Neste ponto, clique em Instalar para aceitar as alterações e instalar o suporte completo do ASP.NET no Windows Server 2012.
Como a instalação levará um pouco de tempo para ser concluída, o assistente exibirá uma caixa de diálogo de progresso enquanto a instalação avança:
Após alguns minutos, o assistente mostra que a instalação foi concluída:
Neste ponto, você pode clicar em Fechar e sair do assistente.
Explorar a instalação do IIS 8.0
Com a integração do IIS 8.0 e do ASP.NET instalada, podemos dar uma olhada no volume básico do ASP.NET para IIS 8.0.
No menu Iniciar do Windows, selecione Todos os programas e expanda o menu Ferramentas administrativas. Na lista resultante, localize o Gerenciador de Serviços de Informações da Internet (IIS) e selecione-o para iniciar a ferramenta de gerenciamento gráfico do IIS:
Depois que o Gerenciador do IIS for iniciado, expanda o nó do servidor na janela à esquerda para que o nó Pools de aplicativos e o nó Sites sejam exibidos. Ao fazer isso, o Gerenciador do IIS abrirá uma caixa de diálogo perguntando se você deseja permanecer conectado com os componentes mais recentes da Web Platform. Para este passo a passo, você pode clicar em Não. Neste ponto, o Gerenciador do IIS se parece com a seguinte imagem:
Clique no nó Pools de aplicativos para exibir os pools de aplicativos que foram instalados para uso pelo IIS 8.0:
Você verá que seis pools de aplicativos diferentes são criados por padrão quando o ASP.NET 3.5 e o ASP.NET 4.5 estão habilitados para IIS 8.0. Quatro dos aplicativos são novos para IIS 8.0, enquanto outros dois pools de aplicativos foram encaminhados das versões anteriores do Windows.
- Observe que, embora a coluna Versão do .NET Framework mostre "v2.0" e "v4.0" para versões do .NET Framework, elas equivalem ao ASP.NET 3.5 e ASP.NET 4.5. Devido aos detalhes internos de como os pools de aplicativos se associam às versões do .NET Framework, o nome da versão real escrito na configuração (e, portanto, exibido na ferramenta) corresponde à versão original do arquivo .NET Framework.
- O .NET AppPool Clássico e o DefaultAppPool existiam em versões anteriores do Windows e, portanto, continuam a ser criados para IIS 8.0. No entanto, observe que, como o .NET Framework 4.5 é o .NET Framework padrão para uso pelo Windows Server 2012, o "DefaultAppPool" no IIS 8.0 também usa a versão mais recente do .NET Framework.
- Os outros quatro pools de aplicativos são novos no Windows Server 2012. Há dois pools de aplicativos para executar o .NET Framework 3.5 (.NET v2.0 e .NET v2.0 Clássico) e dois pools de aplicativos para executar o .NET Framework 4.5 (.NET Framework 4.5 e o .NET Framework 4.5 Clássico).
- A diferença entre pools de aplicativos "clássicos" e "não clássicos" é o modo de pipeline gerenciado com suporte em cada tipo de pool de aplicativos. Os dois pools de aplicativos que terminam em "Clássico" dão suporte ao modo de pipeline clássico mais antigo para o ASP.NET, na era do Windows Server 2003, enquanto os outros dois pools de aplicativos usam o modo de pipeline integrado mais recente para o ASP.NET, que foi apresentado no Vista/IIS7.0.
Explorando um pouco mais, expanda o nó Sites no lado esquerdo da tela para que o nó Site padrão fique visível:
As instalações padrão do IIS sempre têm um "Site padrão" configurado para escutar as solicitações HTTP na porta 80. Faça uma busca detalhada no "Site padrão" para ver qual versão do ASP.NET dá suporte por padrão. Clicar com o botão direito do mouse em Site padrão, selecione Gerenciar site e selecione Configurações avançadas conforme mostrado abaixo:
A caixa de diálogo Configurações avançadas é exibida, mostrando (entre outras coisas) o pool de aplicativos usado para executar o "Site padrão". Conforme mostrado na imagem abaixo, o "Site padrão" é executado no pool de aplicativos chamado "DefaultAppPool":
Se você clicar no pequeno botão de reticências no lado direito do pool de aplicativos, uma caixa de diálogo adicional será exibida exibindo mais informações sobre o "DefaultAppPool". Como observado anteriormente, o "DefaultAppPool" é configurado por padrão para ASP.NET 4.5 no IIS 8.0, portanto aplicativos ASP.NET 4.5 implantados no "Default Web Site" funcionarão sem necessidade de mais configurações.
Neste ponto, clique em Cancelar para cancelar a caixa de diálogo Selecionar pool de aplicativos e a caixa de diálogo Configurações avançadas.
Executando aplicativos ASP.NET 3.5 e ASP.NET 4.5
Agora que você explorou o estado de configuração do IIS 8.0, tente executar alguns exemplos de código ASP.NET para confirmar se os aplicativos ASP.NET 3.5 e ASP.NET 4.5 podem ser executados simultaneamente em uma única instalação do IIS 8.0.
O código de exemplo para ASP.NET 3.5 e ASP.NET 4.5 está contido no seguinte .zip:
Primeiro, configure um aplicativo ASP.NET 3.5 simples no IIS 8.0:
Abra o arquivo "examples.zip".
No Windows Explorer em seu computador Windows Server 2012, navegue até o diretório “wwwroot” para a instalação do IIS. Por exemplo, se você instalou o IIS na unidade C:\, o diretório "wwwroot" estará em
c:\inetpub\wwwroot
.Copie a pasta "example35" de "examples.zip" e cole-a no diretório
c:\inetpub\wwwroot
. Quando terminar, a estrutura de diretórios deverá ser parecida com a seguinte:
A pasta "example35" recém-criada precisa ser configurada como um aplicativo ASP.NET 3.5 no Gerenciador do IIS. Volte para a janela do Gerenciador IIS, clique no nó Site padrão e selecione Atualizar. A exibição em árvore de nós filhos no Site padrão agora mostra a pasta "example35":
Clicar com o botão direito do mouse na pasta example35 e selecione Converter em aplicativo:
A caixa de diálogo Adicionar Aplicativo será exibida. Por padrão, todos os diretórios no Site padrão fazem parte do pool de aplicativos chamado DefaultAppPool. Isso significa que as pastas recém-criadas contendo o ASP.NET são executadas como aplicativos ASP.NET 4.5 por padrão.
Como queremos executar a pasta example35 como um aplicativo ASP.NET 3.5, o pool de aplicativos precisa ser alterado. Clique em Selecionar e a caixa de diálogo Selecionar pool de aplicativos que aparece. Altere o pool de aplicativos para .NET v2.0, conforme mostrado abaixo:
Clique no botão OK para aceitar a alteração do pool de aplicativos e clique em OK novamente para confirmar as alterações no IIS. A janela do Gerenciador do IIS será exibida novamente. Na exibição de árvore que mostra "Site padrão", o ícone de "example35" foi alterado para indicar que agora é um aplicativo ASP.NET separado.
Neste ponto, inicie uma instância do Internet Explorer e navegue até o seguinte URL:
http://localhost/example35
Após uma breve pausa, o aplicativo exibirá uma lista de recursos do .NET Framework com suporte neste aplicativo.
no Windows Explorer, se você navegar até o diretório
c:\inetpub\wwwroot\example35
, poderá usar o bloco de notas para visualizar o código "default.aspx" e as informações em "web.config". Por exemplo, o conteúdo de web.config inclui diretivas que configuram os compiladores .NET Framework para serem executados no modo "3.5". O código do .NET Framework em "default.aspx" demonstra algumas construções C# que foram introduzidas no .NET 3.5 - especificamente consultas LINQ-to-Object.
Agora que há um aplicativo ASP.NET 3.5 em execução, você pode criar um segundo aplicativo ASP.NET, mas desta vez configure-o para usar o .NET Framework 4.5.
Volte para a janela do Windows Explorer que contém o arquivo .zip “examples.zip” aberto.
Abra o conteúdo da pasta "example45".
Na segunda janela do Windows Explorer aberta, navegue até
c:\inetpub\wwwroot
.Copie o arquivo "default.aspx" do arquivo .zip e cole-o diretamente em
c:\inetpub\wwwroot
. O conteúdo da pasta parac:\inetpub\wwwroot
agora deve ser semelhante a:
Agora volte para o Internet Explorer e navegue até o seguinte URL:
http://localhost/default.aspx
Após uma breve pausa, um segundo pool de aplicativos começará a executar um aplicativo ASP.NET 4.5 para o "Site padrão". O navegador exibe mais uma vez uma lista de recursos do .NET Framework com suporte neste aplicativo com uma nova entrada no final da lista para variáveis tipadas dinamicamente (ou seja, a palavra-chave dinâmica introduzida no .NET Framework 4.0/4.5). Observe que, diferentemente do aplicativo "example35" que exigia entradas especiais do web.config, nenhum arquivo web.config era necessário para configurar e executar a página "default.aspx" no "Site padrão". Isso ocorre porque o .NET Framework 4.5 é o .NET Framework padrão usado por aplicativos ASP.NET no IIS 8.0 e, como resultado, nenhuma configuração extra é necessária.
Se você usar o Bloco de Notas para abrir a página “default.aspx” que acabou de copiar, também verá algumas alterações em comparação com a versão no diretório “example35”. Não há diretivas de namespace na parte superior da página, pois o .NET Framework 4.5 é o padrão no IIS 8.0. O código na página demonstra o uso de uma variável dinâmica, que é um conceito do compilador apresentado no .NET Framework 4.0/4.5.
Resumo
O IIS 8.0 dá suporte à execução de aplicativos ASP.NET 3.5 e ASP.NET 4.5 no mesmo computador usando pools de aplicativos diferentes para hospedar cada versão do .NET Framework. O IIS 8.0 dá suporte a diversas versões do .NET Framework o que permite que desenvolvedores e administradores aproveitem ao máximo o IIS 8.0, mantendo a compatibilidade com versões anteriores de aplicativos Web herdados do Windows Server 2008 R2.