Compartilhar via


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

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.

  1. 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:
    Captura de tela do novo Gerenciador do Servidor U I com adicionar funções realçadas.

  2. 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:
    Captura de tela do Assistente para Adicionar Funções e Recursos com a opção de instalação Baseada em Função ou Recurso realçada.

  3. Clique em Avançar. A próxima tela do assistente pede que você escolha o servidor que está configurando.

  4. 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:
    Captura de tela da lista Funções de Servidor no Assistente para Adicionar Funções e Recursos com Servidor Web I I S marcada e realçada.

  5. 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.

  6. 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:
    Captura de tela da lista Serviços de Função a serem selecionados e instalados no Servidor Web I I S com a Ferramenta de Gerenciamento realçada.

  7. 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:
    Captura de tela da lista Serviços de Função com o nó Desenvolvimento de Aplicativos realçado.

  8. 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.
  9. 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:
    Captura de tela da caixa de diálogo com a pergunta Adicionar recursos necessários para A S P dot NET 3 ponto 5.

  10. 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.

  11. 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:
    Captura de tela da lista de recursos dos Serviços de Função com um ponto S P NET 4 ponto 5 marcado e realçado.

  12. 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.

  13. A etapa Confirmar seleções de instalação exibe uma lista de todos os recursos instalados se você aceitar as alterações.
    Captura de tela de Confirmar seleções de instalação exibindo uma lista de todos os recursos instalados se as alterações forem aceitas com a confirmação realçada.

  14. Neste ponto, clique em Instalar para aceitar as alterações e instalar o suporte completo do ASP.NET no Windows Server 2012.

  15. 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:
    Captura de tela da caixa de diálogo Progresso da Instalação mostrando o progresso da tarefa com o item Resultados realçado.

  16. Após alguns minutos, o assistente mostra que a instalação foi concluída:
    Captura de tela do Progresso da Instalação mostrando que a instalação foi bem-sucedida no Assistente para Adicionar Funções e Recursos.

  17. 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.

  1. 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:
    Captura de tela do menu Ferramentas Administrativas expandido com o Gerenciador dos Serviços de Informações da Internet I I S realçado.

  2. 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:
    Captura de tela do I I S Manager mostrando o nó Pools de Aplicativos e o nó Sites expandido com o Web Platform Installer realçado.

  3. Clique no nó Pools de aplicativos para exibir os pools de aplicativos que foram instalados para uso pelo IIS 8.0:
    Captura de tela do nó Pools de Aplicativos com a lista de pools de aplicativos instalados para uso pelo I I S 8 dot 0.

  4. 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.
  5. Explorando um pouco mais, expanda o nó Sites no lado esquerdo da tela para que o nó Site padrão fique visível:
    Captura de tela do aceno Sites expandido com o nó Site padrão realçado.

  6. 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:
    Captura de tela da Página Inicial do Site Padrão com Gerenciar Site e Configurações Avançadas selecionada e realçada.

  7. 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":
    Captura de tela da caixa de diálogo Configurações Avançadas mostrando Pool de Aplicativos e Pool de Aplicativos Padrão realçados.

  8. 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.
    Captura de tela da caixa de diálogo Selecionar Pool de Aplicativos exibindo Pool de Aplicativos Padrão e suas propriedades no Pool de Aplicativos.

  9. 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:

Captura de tela de exemplos de arquivo dot zip.

Primeiro, configure um aplicativo ASP.NET 3.5 simples no IIS 8.0:

  1. Abra o arquivo "examples.zip".

  2. 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.

  3. 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:
    Captura de tela do diretório local na unidade C com o exemplo da pasta 35 realçada.

  4. 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":
    Captura de tela do modo de exibição em árvore dos nós filho no nó padrão do Site com a pasta 35 de exemplo realçada.

  5. Clicar com o botão direito do mouse na pasta example35 e selecione Converter em aplicativo:
    Captura de tela da pasta de exemplo 35 clicada com o botão direito do mouse e a opção Converter em Aplicativo selecionada e realçada.

  6. 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.
    Captura de tela da caixa de diálogo Adicionar Aplicativo com Pool de Aplicativos e Pool de Aplicativos Padrão exibidos ao lado do botão Selecionar realçado.

  7. 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:
    Captura de tela da caixa de diálogo Selecionar Pool de Aplicativos com o ponto NET v 2 ponto 0 na barra de menus realçado.

  8. 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.
    Captura de tela do modo de exibição em árvore do Site Padrão mostrando o Site Padrão e o ícone realçado, por exemplo, a pasta 35 que foi alterada.

  9. 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.

  10. 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.

  1. Volte para a janela do Windows Explorer que contém o arquivo .zip “examples.zip” aberto.

  2. Abra o conteúdo da pasta "example45".

  3. Na segunda janela do Windows Explorer aberta, navegue até c:\inetpub\wwwroot.

  4. Copie o arquivo "default.aspx" do arquivo .zip e cole-o diretamente em c:\inetpub\wwwroot. O conteúdo da pasta para c:\inetpub\wwwroot agora deve ser semelhante a:
    Captura de tela das pastas da unidade C do disco local com o arquivo padrão dot a s p x realçado.

  5. 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.

  6. 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.