2010-02-10 14 views
9

J'ai un service Web construit pour SharePoint 2007 que j'essaie de porter sur SharePoint 2010. Ce service Web dépend de l'état de la session pour fonctionner correctement, mais jusqu'à présent, j'ai été activé pour que l'état de session fonctionne dans SharePoint 2010. Ce service Web s'exécute comme sa propre application Web sous t le répertoire virtuel /_vti_bin. J'ai essayé tout ce qui suit sans succès:Activation de l'état de session dans SharePoint 2010?

  • L'application de service «State Service» est en cours d'exécution.
  • Ajout du module http System.Web.SessionState.SessionStateModule au fichier web.config de mon application.
  • Ajout du module http System.Web.SessionState.SessionStateModule à mon fichier web.config racine SharePoint.
  • Ajouté <pages enableSessionState="true" /> au fichier web.config de mon application.
  • Ajouté <pages enableSessionState="true" /> à mon fichier web.config racine.

Informations Environnement supplémentaires:

  • Visual Studio 2008 - SP1
  • .NET 3.5 - SP1
  • SharePoint 2010 - RC
  • Windows Server 2008 R2
  • ASMX service web (pas WCF)

Quelqu'un at-il eu de la chance pour obtenir une application Web ou service Web pour utiliser l'état de session dans SharePoint 2010?

Merci!

Steve

Répondre

11

Vous avez déjà répondu vous-même quelque part ailleurs sur l'interweb. Puis, vous devez aller dans votre application Web et ajouter le même module d'état de session au pipeline géré IIS7.

  1. Ouvrez le gestionnaire IIS 7 et recherchez votre application Web.

  2. Double-cliquez sur "Modules" dans la section IIS.

  3. Cliquez sur "Ajouter un module géré ..." dans le volet de droite.

  4. Dans la boîte de dialogue Ajouter un module géré, entrez "SessionState" ou quelque chose comme ça pour le nom, et choisissez l'élément suivant dans la liste déroulante:

    System.Web.SessionState.SessionStateModule, System.Web, version = 2.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a

Après cela, l'état de session doit être activé pour votre application web/service web!

+0

Vous avez raison à ce sujet. Je l'ai compris quelques jours plus tard, j'ai mis à jour le forum MSDN car la question semblait susciter de l'intérêt. –

+0

On dirait que l'élément httpModules est vide dans SP 2010, est-ce que quelqu'un sait pourquoi? – Hinek

+0

Merci. Cela a fonctionné pour moi sans le changement Web.Config - '' est encore vide, j'ai juste ajouté le module IIS. – Kobi

1

La solution de Joshua m'a aidé à me diriger dans la bonne direction, mais j'ai dû faire quelques variations pour mon scénario - un site Web ASP.NET 3.5 déployé dans le dossier _layouts.

Voici les étapes qui ont fonctionné pour moi:

  1. changé l'étiquette <pages> dans le web.config pour le site Web à <pages enableSessionState="true" />

  2. Ajouté le System.Web.SessionState.SessionStateModule module au niveau du site Web Sharepoint (pas tout le niveau IIS - cela va casser l'administration centrale, j'ai essayé :() selon la solution de Joshua @ Si vous déployez une application Web au lieu d'un site Web, vous aurez vouloir l'ajouter au niveau de votre application Web.

Ajout du SessionState HttpModule ci-dessous à l'web.config ne semble pas avoir un effet pour moi, probablement parce que je montais sur le web.config de Sharepoint que mon projet était un site Web et non une application Web . Pas trop clair sur cette question.

<httpModules> 
    <add name = "Session" type = "System.Web.SessionState.SessionStateModule" /> 
</httpModules> 
0

faire comme ci-dessous:

modules
<modules runAllManagedModulesForAllrequests> 
    <add name="Session" type="System.Web.SessionState.SessionStateModule" /> 
</modules> 

est une balise XML. Je ne sais pas pourquoi, ce poste ne prend pas les balises xml ..

Merci

Carol

6

Vous devrez peut-être activer le service d'état de session. Utilisez la cmdlet PowerShell Enable-SPSessionStateService. Cela va créer une base de données d'état de session et démarrer le service dans SharePoint 2010.

Informations de référence: http://technet.microsoft.com/en-us/library/ee890113.aspx