Sessão do ASP <sessão>

Visão geral

O elemento <session> do elemento <asp> especifica as configurações de estado de sessão do ASP (Active Server Pages). O estado da sessão é um meio pelo qual o IIS (Serviços de Informações da Internet) 7 armazena informações sobre cada sessão de cliente exclusiva. Por exemplo, se o site tiver um aplicativo de carrinho de compras, o conteúdo do carrinho de compras de cada cliente poderá ser armazenado no estado de sessão.

Você deve ter recursos de memória no servidor para preservar o estado de sessão ASP e a quantidade de memória necessária varia dependendo da quantidade de informações que você está armazenando em cada sessão. Para ajudar a regular os recursos que o IIS 7 usará, você pode especificar as configurações para o estado de sessão. Por exemplo, o atributo max especifica o número máximo de sessões a serem armazenadas e o atributo timeout especifica a duração de cada sessão ASP.

Se seus aplicativos não exigirem estado de sessão, a definição do atributo allowSessionState como false desabilitará o estado da sessão ASP.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <session> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <session> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <session> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <session> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <session> do elemento <asp> foi introduzido no IIS 7.0.
IIS 6,0 O elemento <session> substitui as seguintes propriedades de metabase do IIS 6.0:
  • AspAllowSessionState
  • AspKeepSessionIDSecure
  • AspSessionMax
  • AspSessionTimeout

Instalação

Para dar suporte e configurar aplicativos ASP em seu servidor Web, instale o módulo ASP. Execute as etapas a seguir para instalar o módulo ASP.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.
  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
  4. Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, Desenvolvimento do Aplicativo e selecionar ASP.
    Image of Web Server and Application Development pane expanded with A S P selected.
  5. Se a caixa de diálogo Adicionar recursos exigidos pelo ASP? for exibida, clique em Adicionar recursos. (Esta página só será exibida se você ainda não tiver instalado o serviço de função Extensões ISAPI no seu servidor.)
  6. Na página Funções do Servidor, clique em Avançar.
  7. Na página Selecionar recursos, clique em Avançar.
  8. Na página Confirmar seleções de instalação, clique em Instalar.
  9. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.

  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.

  3. Expanda Serviços de Informações da Internet, Serviços da World Wide Web, Recursos de Desenvolvimento de Aplicativos e selecione ASP.
    Screenshot of Turn Windows on or off feature page with Application Development Features pane expanded and A S P selected.

    Observação

    A função Extensões ISAPI será selecionada se ainda não tiver sido instalada.

  4. Clique em OK.

  5. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
  4. Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione ASP.
    Screenshot of Select Role Services page of the Add Role Services Wizard displaying A S P selected.
  5. Se a caixa de diálogo Adicionar serviços de função exigidos pelo ASP for exibida, clique em Adicionar Serviços de Função Necessários. (Esta página só será exibida se você ainda não tiver instalado o serviço de função Extensões ISAPI no seu servidor.)
    Screenshot of Add Role Services dialog box displaying the Add role services required for A S P question and Add Required Role Services button.
  6. Na página Selecionar Serviços de Função, clique em Avançar.
  7. Na página Confirmar Seleções de Instalação, clique em Instalar.
  8. Na página Resultados , clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
  3. Expanda Serviços de Informações da Internet, em seguida, World Wide Web Services e Recursos de Desenvolvimento de Aplicativos.
  4. Selecione ASP e clique em OK.
    Screenshot of Turn Windows features on or off page displaying Application Development Features pane expanded and A S P selected.

Instruções

Como definir as configurações de estado de sessão do ASP para um site ou aplicativo

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, expanda o nome do servidor, expanda Sites e navegue até o site ou aplicativo Web que você deseja configurar.

  3. No painel Página Inicial do site ou aplicativo, clique duas vezes em ASP.
    Screenshot pf application Home pane displaying A S P highlighted.

  4. No painel ASP, expanda a seção Propriedades da Sessão e defina as configurações desejadas.
    Image of A S P pane with Session Properties section expanded and highlighted.

  5. Clique em Aplicar no painel Ações.

Configuração

Atributos

Atributo Descrição
allowSessionState Atributo booliano opcional.

Especifica se a persistência do estado de sessão para um aplicativo ASP está habilitada.

O valor padrão é true.
keepSessionIdSecure Atributo booliano opcional.

Especifica se uma ID de sessão é enviada como um cookie seguro se atribuída por um canal de sessão seguro.

O valor padrão é true.
max Atributo uint opcional.

Especifica o número máximo de sessões simultâneas.

O valor padrão é 4294967295.
timeout Atributo timeSpan opcional.

Especifica o período de tempo máximo (hh:mm:ss) que um objeto de sessão é mantido depois que a última solicitação associada ao objeto é feita.

O valor padrão é 00:20:00.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir habilita o estado de sessão ASP, define o número máximo de sessões ASP como 1000 e define o tempo limite da sessão como 10 minutos para o Site Padrão.

<location path="Default Web Site">
   <system.webServer>
      <asp>
         <session allowSessionState="true" max="1000" timeout="00:10:00" />
      </asp>
   </system.webServer>
</location>

Exemplo de código

Os exemplos de código a seguir habilitam o estado de sessão ASP, definem o número máximo de sessões ASP como 1000 e definem o tempo limite da sessão como 10 minutos para o Site Padrão.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/asp /session.allowSessionState:"True" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /session.max:"1000" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /session.timeout:"00:10:00" /commit:apphost

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection aspSection = config.GetSection("system.webServer/asp", "Default Web Site");

         ConfigurationElement sessionElement = aspSection.GetChildElement("session");
         sessionElement["allowSessionState"] = true;
         sessionElement["max"] = 1000;
         sessionElement["timeout"] = TimeSpan.Parse("00:10:00");

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim aspSection As ConfigurationSection = config.GetSection("system.webServer/asp", "Default Web Site")

      Dim sessionElement As ConfigurationElement = aspSection.GetChildElement("session")
      sessionElement("allowSessionState") = True
      sessionElement("max") = 1000
      sessionElement("timeout") = TimeSpan.Parse("00:10:00")

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site");

var sessionElement = aspSection.ChildElements.Item("session");
sessionElement.Properties.Item("allowSessionState").Value = true;
sessionElement.Properties.Item("max").Value = 1000;
sessionElement.Properties.Item("timeout").Value = "00:10:00";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site")

Set sessionElement = aspSection.ChildElements.Item("session")
sessionElement.Properties.Item("allowSessionState").Value = True
sessionElement.Properties.Item("max").Value = 1000
sessionElement.Properties.Item("timeout").Value = "00:10:00"

adminManager.CommitChanges()