IIS está cada vez melhor

Alguns dos itens mostrados na captura de tela abaixo, como Configurações SSL, foram gerenciados de forma diferente no IIS6 usando o Guia Segurança de diretório na caixa de diálogo Propriedades do site: no IIS7, agora você tem uma caixa de diálogo separada para gerenciar esses configurações. Outras configurações são alteradas modificando o conteúdo do web.config (um trabalho que você precisava realizar manualmente no IIS6). Por exemplo, se você clicar no botão Email SMTP, você verá uma caixa de diálogo que permite definir as configurações de email e, depois de aplicar as configurações atualizadas, elas serão gravadas no web.config. Este é um toque legal, embora eu possa imaginar que novos administradores precisarão de algum treinamento.

IIS está cada vez melhor

Outra mudança importante no IIS7 está na maneira como você gerencia pools de aplicativos. Um pool de aplicativos é um conjunto de um ou mais processos de trabalho que executam páginas ou sites específicos, o que permite que você tenha isolamento completo de código entre sites individuais – quando um site trava, não é necessário derrubar o resto do seu sites. Esse recurso muito necessário foi adicionado no IIS6 e continua no IIS7, mas agora você tem ainda mais controle. Por exemplo, você pode especificar qual versão do .NET Framework será executada em qual pool (ou até mesmo não especificar nenhuma). Posso ver que esse recurso é algo que muitas empresas de hospedagem vão adorar, pois elas desativam o ASP.NET para sites hospedados e só o ativam novamente mediante o pagamento de uma grande taxa.

Um aspecto do gerenciamento do IIS7 no Vista que deve ser destacado é que o novo modelo de segurança do Vista torna essa tarefa uma tarefa difícil. O Controle de Conta de Usuário (UAC), junto com permissões restritas, gera muito trabalho extra e até mesmo torna o UAC off ainda traz uma série de caixas de diálogo nas quais você precisará clicar, mesmo quando estiver logado como um administrador. Ao escrever este artigo, voltei a desligar o UAC e a dar controle total à pasta C: inetpubwww para o usuário Todos. Esta não é uma boa ideia do ponto de vista da segurança, mas às vezes a usabilidade é mais importante que a segurança.

IIS7 e .NET

Como nas versões anteriores, o IIS7 oferece suporte ao .NET Framework via ASP.NET. Conforme descrevi em uma coluna anterior, o ASP.NET permite criar sites ricos e dinâmicos com codificação baseada em .NET. Usando a abordagem Code-Behind do ASP.NET, você normalmente implementa suas páginas da web como uma página ASPX que contém formatação básica e um arquivo aspx.cs que contém o código C#. Em seguida, você coloca essas duas páginas no site e o ASP.NET faz o resto.

Entretanto, o suporte para ASP.NET dentro do IIS7 representa um grande avanço: no IIS7, o ASP.NET agora está totalmente integrado ao servidor web principal e não é mais apenas um filtro ISAPI. A captura de tela na página ao lado mostra a nova arquitetura ASP.NET dentro do IIS7. Isso permite que todos os recursos do ASP.NET funcionem com mais eficiência, além de permitir que os desenvolvedores estendam o servidor IIS usando código gerenciado em vez de ter que escrever nas APIs C++ do IIS de nível inferior.

Outro benefício importante desta abordagem é que os aplicativos ASP.NET e ASP existentes se beneficiam de uma abordagem mais rígida. integração ao poder usar recursos ASP.NET existentes, como autenticação de formulários, funções e cache de saída para todos os tipos de conteúdo. No IIS7, os serviços ASP.NET podem ser usados ​​para todos os tipos de conteúdo, enquanto nas versões anteriores os recursos do ASP.NET como Forms Authentication e o restante estavam disponíveis apenas para os próprios tipos de conteúdo interno do ASP.NET, como ASPX Páginas. Tipos de conteúdo como arquivos estáticos, páginas ASP, arquivos gráficos simples e assim por diante não poderiam empregar esses serviços. Ter todos os serviços ASP.NET disponíveis para todos os tipos de conteúdo significa que você pode proteger todo o seu conteúdo da Web, incluindo imagens, páginas estáticas e Páginas ASP, usando sua solução de controle de acesso ASP.NET 2 existente, normalmente construída em Autenticação, Associação e Login de Formulários ASP.NET controles. Vamos dar uma olhada em como isso funciona.