Executar o ASP.NET 1.1 com o IIS 6.0

Embora o Windows Server 2003 inclua o IIS 6.0 e ASP.NET 1.1, esses componentes são desabilitados por padrão. Este white paper descreve como habilitar o IIS 6.0 e ASP.NET 1.1 e recomenda várias configurações para obter o desempenho ideal do IIS e do ASP.NET.

Aplica-se ao ASP.NET 1.1 e ao IIS 6.0.

ASP.NET 1.1 é fornecido com o Windows Server 2003, que também inclui a versão mais recente do IIS (Servidor de Informações da Internet) versão 6.0. O IIS 6.0 e o ASP.NET 1.1 foram projetados para se integrar perfeitamente e ASP.NET agora usa como padrão o novo modelo de processo de trabalho do IIS 6.0.

ASP.NET 1.1 não está instalado por padrão

Ao contrário das versões anteriores dos sistemas operacionais de servidor da Microsoft, o IIS (Servidor de Informações da Internet) não está habilitado por padrão; nem é ASP.NET 1.1. Há duas opções para habilitar o IIS:

Habilitando o IIS, opção nº 1 – Configurar o Assistente de Servidor

O Windows Server 2003 envia um novo "Assistente para Configurar Seu Servidor" para ajudá-lo a configurar corretamente o servidor no modo desejado.

Para iniciar o assistente – observação, para executar o assistente, você deve estar conectado como administrador – acesse: Iniciar | Programas | Ferramentas Administrativas e selecione "Configurar seu servidor".

Depois de selecionado, você deverá ver a tela de abertura "Configurar o Assistente de Servidor":

Captura de tela do assistente para configurar o servidor do Windows. O próximo botão está realçado.

Clique em 'Avançar >':

Captura de tela da tela de etapas preliminares do Windows do assistente para configurar o servidor. O próximo botão está realçado.

Clique em 'Avançar >'

Captura de tela da tela configurar o assistente de servidor do Windows intitulada função de servidor. O menu mostra a opção de servidor de aplicativos realçada.

Nesta tela, você precisará selecionar 'Servidor de aplicativos (IIS, ASP.NET) como as opções a serem configuradas.

Clique em 'Avançar >'.

Captura de tela da tela configurar o assistente de servidor do Windows intitulada opções de servidor de aplicativos. A caixa Habilitar ASP.NET está marcada.

Depois de selecionar para configurar o servidor como um Servidor de Aplicativos, essa tela será exibida solicitando quais recursos adicionais devem ser instalados. Nenhuma das opções é selecionada por padrão. Para habilitar ASP.NET automaticamente, você precisa selecionar "Habilitar ASP.NET".

Clique em 'Avançar >'.

Captura de tela da tela configurar o assistente do servidor do Windows intitulada resumo das seleções. O próximo botão está realçado.

Esta tela exibe quais opções devem ser instaladas.

Clique em 'Avançar >'.

Captura de tela da tela configurar o assistente do servidor. As seleções de aplicação status barra são exibidas.

Você verá essa tela enquanto as opções selecionadas estiverem sendo instaladas. É normal ver outras caixas de diálogo aparecerem à medida que os serviços estão sendo instalados. Além disso, você pode ser solicitado a fornecer o local do CD de instalação do Windows 2003 Server.

Clique em 'Avançar >' quando for concluído.

Captura de tela da tela de sucesso configurar o assistente do servidor do Windows. O botão concluir está realçado.

Clique em 'Concluir' – o Windows Server 2003 agora está configurado para dar suporte ao IIS 6.0 e ASP.NET 1.1.

Habilitando o IIS, opção nº 2 – Configurando manualmente o IIS e o ASP.NET

Se você não quiser usar o "Assistente para Configurar Seu Servidor", poderá instalar opcionalmente o IIS 6.0 e o ASP.NET 1.1 usando 'Adicionar ou Remover Programas' do Painel de Controle.

Primeiro abra o Painel de Controle:

Captura de tela da tela adicionar ou remover programas com a opção Biblioteca MSDN para Visual Studio .NET 2003 realçada.

Em seguida, clique em 'Adicionar/Remover Componentes do Windows' que abrirá o 'Assistente de Componentes do Windows':

Captura de tela da janela do assistente de componentes do Windows. ASP.NET está realçado.

Realce e marcar 'Servidor de Aplicativos' e clique em 'Detalhes?' :

Captura de tela da tela do servidor de aplicativos. ASP.NET está realçado.

Para instalar ASP.NET, marcar 'ASP.NET'.

Clique em 'OK' para retornar ao Assistente de Componente do Windows. Clique em 'Avançar >' no Assistente de Componente do Windows para começar a instalar:

Captura de tela da tela do servidor de aplicativos do assistente de componentes do Windows. ASP.NET está realçado.

É normal ver outras caixas de diálogo aparecerem à medida que os serviços estão sendo instalados. Além disso, você pode ser solicitado a fornecer o local do CD de instalação do Windows 2003 Server.

Quando a instalação for concluída, você verá a última tela do Assistente de Componente do Windows:

Captura de tela do assistente de componentes do Windows configurando a tela de componentes. Uma barra de status está em andamento.

O IIS 6.0 e o ASP.NET 1.1 agora estão configurados e disponíveis.

Ao executar ASP.NET 1.1 com o IIS 6.0, há várias configurações recomendadas para obter o desempenho ideal de ASP.NET:

  • Configurando limites de memória do processo de trabalho
  • Configurando a reciclagem do processo de trabalho

Configurando limites de memória do processo de trabalho

Por padrão, o IIS 6.0 não define um limite na quantidade de memória que o IIS tem permissão para usar. ASP. O recurso Cache do NET depende de uma limitação de memória para que o Cache possa remover proativamente itens não utilizados da memória.

É recomendável configurar o recurso de reciclagem de memória do IIS 6.0. Para configurar esse Gerenciador de Serviços de Informações da Internet aberto (Iniciar | Programas | Ferramentas Administrativas | Serviços de Informações da Internet). Depois de abrir, expanda a pasta 'Pools de Aplicativos':

Para cada pool de aplicativos:

Captura de tela da tela do gerenciador do Windows IIS. O menu de arquivo mostra a pasta Pools de Aplicativos realçada.

  1. Clique com o botão direito do mouse no pool de aplicativos, por exemplo, 'DefaultAppPool' e selecione 'Propriedades':

Captura de tela da tela Propriedades defaultAppPool do gerenciador do IIS do Windows. A opção Reciclar processos de trabalho (em minutos) é verificada.

  1. Em seguida, habilite a reciclagem de memória clicando em 'Memória máxima usada (em megabytes):'. O valor não deve ser maior do que a quantidade de memória física (não virtual) no servidor, uma boa aproximação é 60% da memória física, ou seja, para um servidor com 512 MB de memória física, selecione 310. Também é recomendável que o máximo não exceda 800 MB ao usar um espaço de endereço de 2 GB. Se o espaço de endereço de memória do servidor for de 3 GB, o limite máximo de memória para o processo de trabalho poderá ser de até 1.800 MB:

Captura de tela da tela Propriedades defaultAppPool do gerenciador do IIS do Windows. A opção Reciclar processos de trabalho (em minutos) está desmarcada.

Clique em 'Aplicar' e no 'OK' para sair da caixa de diálogo de propriedades. Repita isso para todos os pools de aplicativos disponíveis.

Configurando a reciclagem de trabalho

Por padrão, o IIS 6.0 é configurado para reciclar seu processo de trabalho a cada 29 horas. Isso é um pouco agressivo para um aplicativo que executa ASP.NET e é recomendável que a reciclagem automática do processo de trabalho esteja desabilitada.

Para desabilitar a reciclagem automática do processo de trabalho, primeiro abra o Gerenciador de Serviços de Informações da Internet (Iniciar | Programas | Ferramentas Administrativas | Serviços de Informações da Internet). Depois de abrir, expanda a pasta 'Pools de Aplicativos':

Captura de tela da tela do gerenciador do Windows IIS. O menu de arquivo mostra a pasta Pools de Aplicativos realçados.

Para cada pool de aplicativos:

  1. Clique com o botão direito do mouse no pool de aplicativos, por exemplo, 'DefaultAppPool' e selecione 'Propriedades':

Captura de tela da tela Propriedades padrão do Windows IISAppPool com a opção Reciclar processos de trabalho (em minutos) marcada.

  1. Desmarque 'Reciclar processo de trabalho (em minutos):':

Captura de tela da tela Propriedades padrão do Windows IISAppPool com a opção Reciclar processos de trabalho (em minutos) desmarcada.

Clique em 'Aplicar' e no 'OK' para sair da caixa de diálogo de propriedades. Repita isso para todos os pools de aplicativos disponíveis.

Concedendo acesso de gravação ao sistema de arquivos

Se o aplicativo exigir acesso de gravação ao sistema de arquivos e você estiver usando o NTFS, será necessário modificar uma ACL (Lista de Controle de Acesso) na pasta ou arquivo para conceder acesso ASP.NET.

Por exemplo, para conceder a ASP.NET acesso de gravação ao primeiro explorer aberto c:\inetpub\wwwroot, navegue até o diretório:

Captura de tela do explorador de arquivos mostrando a lista de pastas wwwroot.

Em seguida, clique com o botão direito do mouse no diretório, por exemplo, 'wwwroot' e selecione propriedades. Depois que a caixa de diálogo de propriedades for aberta, selecione a guia "Segurança":

Uma captura de tela da tela propriedades wwwroot do Windows com a guia Segurança selecionada.

O diretório c:\inetpub\wwwroot\ é um diretório especial no qual o grupo especial do IIS 6.0 'IIS_WPG' já recebeu permissões de Leitura & Executar, Listar Conteúdo da Pasta e Ler. No entanto, para conceder permissão de Gravação, você precisa clicar na caixa de seleção Permitir para Gravação:

Uma captura de tela da tela de propriedades wwwroot do Windows. A guia Segurança está selecionada.

O IIS 6.0 agora tem permissão de gravação nessa pasta. Para conceder permissões de gravação em outras pastas, siga estas etapas – observe que talvez seja necessário adicionar o grupo de IIS_WPG se ele ainda não existir.

Cuidado

Conceder permissão de gravação a IIS_WPG permitirá que qualquer aplicativo ASP.NET escreva nesse diretório.

Suporte à autenticação integrada com SQL Server

A autenticação integrada permite que SQL Server aproveitem Windows NT autenticação para validar SQL Server contas de logon. Isso permite que o usuário ignore o processo de logon de SQL Server padrão. Com essa abordagem, um usuário de rede pode acessar um banco de dados SQL Server sem fornecer uma identificação de logon ou senha separada porque SQL Server obtém as informações de usuário e senha do processo de segurança de rede Windows NT.

Escolher a autenticação integrada para aplicativos ASP.NET é uma boa opção porque nenhuma credencial é armazenada em seu cadeia de conexão para seu aplicativo. Em vez disso, a cadeia de conexão usada para se conectar ao SQL terá a seguinte aparência:

"server=localhost; database=Northwind;Trusted_Connection=true"

Esse cadeia de conexão instrui SQL Server a usar as credenciais do Windows do aplicativo que está tentando acessar SQL Server. No caso de ASP.NET/IIS 6, isso seria uma conta no grupo IIS_WPG.

Para habilitar a autenticação integrada entre SQL Server e ASP.NET, primeiro você precisará garantir que SQL Server esteja configurado para autenticação integrada ou autenticação Mixed-Mode - marcar com seu DBA para determinar isso. Se SQL Server estiver em um desses dois modos, você poderá usar a autenticação integrada.

Abrir o Gerenciador de SQL Server Enterprise (Iniciar | Programas | Microsoft SQL Server | Enterprise Manager), selecione o servidor apropriado e expanda a pasta Segurança:

Uma captura de tela da tela do Windows SQL Enterprise Manager. O menu tem Logons realçados.

Se o grupo 'BUILTINT\IIS_WPG' não estiver listado, clique com o botão direito do mouse em Logons e selecione 'Novo Logon':

Uma captura de tela do Windows SQL Enterprise Manager SQL Server tela Propriedades de Logon com a guia Geral selecionada.

Na caixa de texto 'Nome:', insira '[Nome do Servidor/Domínio]\IIS_WPG' ou clique no botão de reticências para abrir a Windows NT seletor de usuário/grupo:

Uma captura de tela da tela Propriedades de Logon do Windows SQL Enterprise Manager SQL Server. A tela mostra uma lista de nomes de servidor.

Selecione o grupo IIS_WPG do computador atual e clique em 'Adicionar' e EM OK para fechar o seletor.

Em seguida, você também precisa definir o banco de dados padrão e as permissões para acessar o banco de dados. Para definir a escolha do banco de dados padrão na lista suspensa, por exemplo, abaixo de Northwind está selecionado:

Uma captura de tela do Windows Server Enterprise Manager SQL Server tela Propriedades de Logon. A guia Geral está selecionada.

Em seguida, clique na guia Acesso ao Banco de Dados:

Uma captura de tela do Windows Server Enterprise Manager SQL Server tela Propriedades de Logon. A guia Acesso ao Banco de Dados está selecionada.

Clique na caixa de seleção Permitir para cada banco de dados ao qual você deseja permitir o acesso. Você também precisará selecionar funções de banco de dados, verificando db_owner garantirá que seu logon tenha todas as permissões necessárias para gerenciar e usar o banco de dados selecionado.

Clique em OK para sair da caixa de diálogo de propriedade. Seu aplicativo ASP.NET agora está configurado para dar suporte à autenticação SQL Server integrada.

Não execute ASP.NET 1.0 no modo nativo do IIS 6.0

ASP.NET 1.0 no IIS 6.0 só tem suporte no modo de compatibilidade do IIS 5.

Para configurar o ASP.NET 1.0 para ser executado no modo de compatibilidade do IIS 5.0, abra o Gerenciador de Serviços de Internet e clique com o botão direito do mouse em Sites e selecione propriedades:

Uma captura de tela da tela do Gerenciador do IIS do Windows. A pasta de sites está realçada.

Alternar para a guia Serviço e marcar ? Execute o Serviço WWW no Modo de Isolamento do IIS 5.0?:

Uma captura de tela da tela Propriedades do Site do Gerenciador do IIS do Windows. A guia Serviço está selecionada.