Permitindo estado da sessão no SharePoint 2010?
-
19-09-2019 - |
Pergunta
Eu tenho um serviço web construído para SharePoint 2007 que eu estou tentando porta para SharePoint 2010. Este serviço web é dependente de estado da sessão para funcionar corretamente, mas, até agora, eu tenho sido habilitar para obter o estado da sessão de trabalho em tudo no SharePoint 2010. Este serviço web é executado como seu próprio aplicativo web sob t
ele /_vti_bin
diretório virtual. Eu tentei todos os seguintes sem sorte:
- garantiu a aplicação de serviço "serviço de estado" está em execução.
- Adicionado o
System.Web.SessionState.SessionStateModule
http módulo para arquivo web.config do meu aplicativo. - Adicionado o
System.Web.SessionState.SessionStateModule
http módulo para o meu arquivo web.config raiz SharePoint. -
<pages enableSessionState="true" />
Adicionado para o arquivo web.config do meu aplicativo. -
<pages enableSessionState="true" />
Adicionado ao meu arquivo web.config raiz.
adicionais informações Ambiente:
- Visual Studio 2008 - SP1
- .NET 3.5 - SP1
- SharePoint 2010 - RC
- Windows Server 2008 R2
- serviço de web ASMX (não WCF)
ninguém tinha tido qualquer sorte para conseguir uma aplicação web ou serviço web para o estado da sessão uso em SharePoint 2010 ainda?
Obrigado!
Steve
Solução
Você já respondeu isso sozinho em outro lugar no interweb. :)
<httpModules>
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
</httpModules>
Em seguida, você deve ir para a sua aplicação web e adicionar o mesmo módulo de estado de sessão para o IIS7 gasoduto gerenciado.
-
Open IIS 7 gerente, e encontrar o seu aplicativo web.
-
Clique duas vezes em "módulos" na seção IIS.
-
Clique em "Adicionar módulo Managed ..." no painel do lado direito.
-
Na caixa de diálogo Adicionar Managed Módulo, digite
"SessionState"
ou algo parecido para o nome, e escolher o item seguinte na lista suspensa:System.Web.SessionState.SessionStateModule, System.Web, versão = 2.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a
Depois disso, o estado da sessão deve ser habilitado para a sua aplicação web service / web!
Outras dicas
Você pode precisar ativar o serviço de estado de sessão. Use o PowerShell cmdlet Enable-SPSessionStateService. Isto irá criar um banco de dados estado da sessão e iniciar o serviço no SharePoint 2010.
informaçõesReferência: http://technet.microsoft.com/en-us/library/ee890113.aspx
A melhor link que eu vi sobre isso é aqui: http://blogs.msdn.com/b/markarend/archive/2010/05/27/using-session-state-in-sharepoint-2010.aspx
A solução de Joshua ajudou a me aponte na direção certa, mas eu tive que fazer algumas variações para o meu cenário - um Web Site ASP.NET 3.5 implantado para o _layouts pasta.
Aqui estão os passos que funcionou para mim:
-
mudou a tag
<pages>
no web.config para o Web Site para<pages enableSessionState="true" />
-
Adicionado o System.Web.SessionState.SessionStateModule módulo no nível site Sharepoint (não todo o IIS nível - que vai quebrar a Administração Central, tentei :() como por @ solução de Josué. Se você estiver implantando um aplicativo da web em vez de um web site, você vai querer adicioná-lo ao seu nível de aplicativo web.
Adicionando o SessionState HTTPModule abaixo para o web.config não parecem ter um efeito para mim, provavelmente porque eu estava andando em web.config do SharePoint como o meu projeto era um Web site e não um aplicativo da Web. Não muito clara sobre esta questão.
<httpModules>
<add name = "Session" type = "System.Web.SessionState.SessionStateModule" />
</httpModules>
Do como abaixo:
<modules runAllManagedModulesForAllrequests>
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
</modules>
módulos é uma marca XML. Eu não sei por que, este post não está tomando tags XML ..
Graças
Carol