Estado da sessão não pode ser usado no ASP.NET com o Windows SharePoint Services

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 837376
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você tiver o Microsoft Windows SharePoint Services (WSS) instalado no seu computador e navegar na página que é definida com variáveis de sessão no aplicativo Microsoft ASP.NET, você receberá a seguinte mensagem de erro:

Estado da sessão só pode ser usado quando enableSessionState estiver definido como verdadeiro, em um arquivo de configuração ou na diretiva Page
Causa
Esse problema pode ocorrer depois de instalar o WSS em um servidor que possui o Microsoft Visual Studio .NET 2003 instalado. O filtro ISAPI do WSS controla todas as URLs de entrada. Quando você procura um dos diretórios virtuais de aplicativo ASP.NET, o filtro ISAPI não localizará o caminho de URL da pasta.

Por exemplo, esse problema pode ocorrer quando você visita um URL semelhante à seguinte:
http:// ServerName / WebApplication /WebForm1.aspx
Neste exemplo, a pasta que é chamada WebApplication não existe no banco de dados WSS e você não pode procurar a pasta.
Como Contornar
Para contornar esse problema, siga estas etapas.

Modificar o arquivo Web.config

Faça as seguintes modificações no arquivo Web.config da Web aplicativo:
  • Desmarque o manipulador do WSS ASP.NET e especifique o manipulador ASP.NET padrão para todas as páginas.
  • Defina o nível de confiança para total para permitir que o ASP.NET seja executado corretamente.
  • Habilite o módulo de sessão.
  • Ativar estado da sessão para todas as páginas que estão na Web aplicativo.

Criar um aplicativo ASP.NET

  1. Inicie o Microsoft Visual Studio .NET 2003.
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project . A caixa de diálogo New Project é exibida.
  3. Em Project Types , clique em Projetos do Visual Basic , em modelos , clique em ASP.NET Web Application e, em seguida, clique em OK . Por padrão, o formulário da Web WebForm1.aspx é criado.
  4. No Solution Explorer, clique com o botão direito do mouse em WebForm1.aspx e, em seguida, clique em View Code .
  5. Substitua o código existente no arquivo WebForm1.aspx.vb com o código a seguir:
    Public Class WebForm1    Inherits System.Web.UI.Page#Region " Web Form Designer Generated Code "    'The Web Form Designer requires this call.    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()    End Sub    Protected WithEvents Button1 As System.Web.UI.WebControls.Button    'NOTE: The Web Form Designer requires the following placeholder declaration.    'Do not delete or move it.    Private designerPlaceholderDeclaration As System.Object    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles MyBase.Init        'CODEGEN: The Web Form Designer requires this method call.        'Do not modify it by using the Code editor.        InitializeComponent()    End Sub#End Region    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles MyBase.Load        'Put user code to initialize the page here.        Session.Add("Test", 1)        Session.Add("Test1", 2)        Session.Add("Test2", 3)    End Sub    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles Button1.Click        Response.Redirect("WebForm2.aspx")    End SubEnd Class
  6. Alterne para o modo de design da Web WebForm1.aspx formulário.
  7. No menu Exibir , clique em Código fonte HTML .
  8. Substitua o código existente a fonte HTML para o formulário da Web WebForm1.aspx com o seguinte código HTML:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication5.WebForm1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD>  <title>WebForm1</title>  <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">  <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">  <meta name="vs_defaultClientScript" content="JavaScript">  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD>  <body MS_POSITIONING="GridLayout">   <form id="Form1" method="post" runat="server">     <asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px"  runat="server" Text="Button">     </asp:Button>  </form>  </body></HTML>
  9. Adicione outro formulário da Web ao projeto existente. Para fazer isso, execute as seguintes etapas:
    1. No menu arquivo , clique em Add New Item .o Add New Item caixa é exibida.
    2. Na caixa categorias , clique em itens de Projeto da Web e, em seguida, clique duas vezes o Formulário da Web na caixa modelos . Por padrão, um formulário da Web que é chamado WebForm2.aspx é criado.
  10. Substitua o código existente no arquivo WebForm2.aspx.vb com o código a seguir:
    Public Class WebForm2    Inherits System.Web.UI.Page#Region " Web Form Designer Generated Code "    'This call is required by the Web Form Designer.    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()    End Sub    'NOTE: The Web Form Designer requires the following placeholder declaration.    'Do not delete or move it.    Private designerPlaceholderDeclaration As System.Object    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles MyBase.Init        'CODEGEN: The Web Form Designer requires this method call.        'Do not modify it by using the Code editor.        InitializeComponent()    End Sub#End Region    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles MyBase.Load        'Put user code to initialize the page here.        Response.Write(Session("Test") & "<br>")        Response.Write(Session("Test1") & "<br>")        Response.Write(Session("Test2"))          End SubEnd Class
  11. Adicione as seguintes diretivas no arquivo Web.config do aplicativo da Web entre o <system.web> marca e o </system.web> marca:
    <!-- Clear out the WSS ASP.NET handler and specify the default ASP.NET handler for all pages. --><httpHandlers><clear /><add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /></httpHandlers><!-- Set the trust to Full. WSS configures a very restrictive trust policy that does not allow ASP.NET Web application to run correctly.--><trust level="Full" originUrl="" /><!-- Enable the session module. This can also be enabled on the WSS Web.config, but is not enabled by default. If you receive the following message:Parser Error Message: The module 'Session' is already in the application and cannot be added again. You can remove the following <httpModules></httpModules> section as session is already enabled on the virtual server. --> <httpModules><add name="Session" type="System.Web.SessionState.SessionStateModule"/></httpModules> <!-- Enable session state for all the pages in the Web application. --> <pages enableSessionState="true" enableViewState="true" enableViewStateMac="true" validateRequest="false" />
  12. Salve o arquivo Web.config modificado.
  13. Excluir WebApplication pasta usando a Administração Central do SharePoint. Para fazer isso, execute as seguintes etapas:
    1. No servidor que esteja executando o WSS, clique em Iniciar , clique em Ferramentas administrativas e clique em Administração Central do SharePoint .
    2. Em Configuração do servidor virtual área, clique em Configurar definições do servidor virtual .
    3. Na lista Lista de servidores virtuais , clique em servidor virtual que você deve adicionar os caminhos excluídos.
    4. Em Gerenciamento do servidor virtual , clique em Definir caminhos gerenciados .
    5. Na seção Adicionar um novo caminho , digite o caminho que você deseja excluir na caixa caminho .
    6. Clique em Caminho excluído e, em seguida, clique em OK .
Depois de definir essas configurações no arquivo Web.config do seu aplicativo, você pode procurar o aplicativo da Web e, em seguida, usar as sessões nas páginas da Web.
Situação
Esse comportamento é por design.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 837376 - Última Revisão: 12/08/2015 06:26:16 - Revisão: 1.12

Microsoft Windows® SharePoint Services, Microsoft Visual Studio .NET 2003 Enterprise Architect, Microsoft Visual Studio .NET 2003 Enterprise Developer, Microsoft Visual Studio .NET 2003 Professional Edition, Microsoft Visual Studio .NET 2003 Academic Edition

  • kbnosurvey kbarchive kbmt kbsetup kbaspnet kbstate kbconfig kbprb KB837376 KbMtpt
Comentários