Domanda

Ho un servizio web costruito per SharePoint 2007 che sto cercando di porto a SharePoint 2010. Questo servizio web dipende lo stato della sessione per funzionare correttamente, ma finora, sono stato consentono di ottenere lo stato della sessione di lavoro a tutti in SharePoint 2010. Questo servizio web viene eseguito come la propria applicazione web in t egli /_vti_bin directory virtuale. Ho provato tutti i seguenti senza fortuna:

  • Accertato l'applicazione del servizio "Servizio di Stato" è in esecuzione.
  • Inserito il modulo HTTP System.Web.SessionState.SessionStateModule al file web.config di mia applicazione.
  • Inserito il modulo HTTP System.Web.SessionState.SessionStateModule alla mia root file web.config di SharePoint.
  • aggiunta <pages enableSessionState="true" /> al file web.config di mia applicazione.
  • aggiunta <pages enableSessionState="true" /> al mio file web.config root.

Ulteriori informazioni Ambiente:

  • Visual Studio 2008 - SP1
  • NET 3.5 - SP1
  • SharePoint 2010 - RC
  • Windows Server 2008 R2
  • servizio web ASMX (non WCF)

Se qualcuno avesse avuto fortuna ottenere un'applicazione web o servizio Web da utilizzare lo stato della sessione in SharePoint 2010 ancora?

Grazie!

Steve

È stato utile?

Soluzione

Hai già risposto da soli da qualche altra parte sul interweb. :)

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

Quindi, è necessario andare nella vostra applicazione web e aggiungere lo stesso modulo di stato di sessione al IIS7 gestito gasdotto.

  1. Apri IIS 7 Manager, e trovare l'applicazione web.

  2. Fare doppio clic su "Moduli" nella sezione IIS.

  3. Fai clic su "Aggiungi modulo gestito ..." nel riquadro a destra.

  4. Nella finestra di dialogo Aggiungi Managed modulo, inserire "SessionState" o qualcosa di simile per il nome, e scegliere la seguente voce dal menu a discesa:

      

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

Dopo di che, lo stato della sessione dovrebbe essere abilitato per il vostro web app / servizio web!

Altri suggerimenti

Potrebbe essere necessario attivare il Servizio stato sessione. Utilizzare il cmdlet PowerShell Enable-SPSessionStateService. Questo creerà un database dello stato sessione e avviare il servizio in SharePoint 2010.

informazioni Riferimento: http://technet.microsoft.com/en-us/library/ee890113.aspx

La soluzione di Joshua mi ha aiutato a punto nella giusta direzione, ma ho dovuto fare alcune variazioni per il mio scenario - di un sito Web 3.5 ASP.NET schierato nella cartella _layouts.

Ecco i passaggi che hanno lavorato per me:

  1. ha cambiato il tag <pages> nel web.config per il sito Web di <pages enableSessionState="true" />

  2. Aggiunta la System.Web.SessionState.SessionStateModule del modulo a livello di Sharepoint sito web (non l'intero livello di IIS - che ti rompo l'Amministrazione Centrale, ho provato :() secondo @ la soluzione di Joshua. Se si sta distribuendo un'applicazione Web invece di un sito Web, ti consigliamo di aggiungerlo al vostro livello di applicazione Web.

L'aggiunta della SessionState HTTPModule di seguito per il web.config non sembrano avere un effetto per me, probabilmente perché stavo guidando sul web.config di SharePoint come il mio progetto era un sito Web e non un Web Application. Non troppo chiaro su questo tema.

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

Fate come di seguito:

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

I moduli è un tag XML. Non so perché, questo post non sta prendendo tag XML ..

Grazie

Carol

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top