christian-heim.de a premier field engineers blog

christian-heim.de
State Service vs. ASP.NET Session State

In SharePoint 2010 gibt es zwei Dienste, die sich um den Status einer User Session kümmern. Den meisten ist einer dieser Dienste geläufig, die State Service Application. Diese hat eine eigene Datenbank und einen eigenen Service Application Proxy. Manche SharePoint Entwicklungen setzen jedoch einen weiteren unter SharePoint 2010 verfügbaren Dienst voraus, den sogenannten ASP.NET Session State.

Somit unterscheiden wir:

  • SharePoint 2010 State Service
    Die State Service Application wurde für Office Komponente entworfen und ist auch auschließlich für diese verwendbar (z.B. InfoPath Forms Services, Visio Services). In typischen SharePoint Farm Konfigurationen ist diese Service Application aktiviert. Jedoch hat diese nichts mit dem ASP.NET Session State zu tun. In der Zentraladministration taucht diese Service Application unter dem Namen “State Service” auf.
  • ASP.NET Session State
    Dieser kann in SharePoint 2010 als Service Application integriert werden. Er ist standardmäßig nicht aktiv und nicht eingerichtet. Auch kann man ihn nicht über die Zentraladministration erstellen, hierfür ist ein entsprechender PowerShell Befehl verfügbar. Wenn er aktiviert ist wird die Dienstanwendung in der Liste der Service Applications als “SharePoint Server ASP.NET Session State Service” sichtbar.

Wie aktivieren wir den ASP.NET Session State korrekt?

  1. Als Farm Administrator melden wir uns auf einem Server der Farm an
  2. Öffnen der SharePoint Management Shell
  3. Aktivieren/Deployment des SharePoint Server ASP.NET Session State Service
  4. HINWEIS: Durch Eingabe dieses Befehls wird eine zusätzliche Datenbank erstellt. Der Datenbankname der durch den Parameter -DatabaseName definiert wird, sollte in bestehende Namenskonventionen passen!

    Enable-SPSessionStateService -DatabaseName “SharePoint_ServiceApplication_ASPNETSessionState”

    Hierdurch wird die Service Application und die dazugehörige Datenbank erstellt. Anzumerken ist ausserdem, dass der ASP.NET Session State Service keinen dazugehörigen Proxy hat und somit keine Proxy Zuordnungen zu Web Applications anzupassen sind.

  5. Für jede Webanwendung für die ASP.NET Session State aktiv sein soll muss ein Eintrag in die web.config (C:\inetpub\wwwroot\wss\VirtualDirectories\[Webanwendung]\web.config) erfolgen. Hierfür sucht man die enableSessionState Eigenschaft und aktiviert diese wie folgt:
  6. <pages enableSessionState=”true”

Danach steht ASP.NET Session State Service in den definierten Web Anwendungen zur Verfügung.

Leave a Reply

Your email address will not be published. Required fields are marked *