ASP-Sitzung <session>

Übersicht

Das <session>-Element des <asp>-Elements gibt die ASP-Sitzungszustandseinstellungen (Active Server Pages) an. Mithilfe des Sitzungszustands kann Internetinformationsdienste 7 (Internet Information Services, IIS) Informationen zu jeder eindeutigen Clientsitzung speichert. Wenn Ihre Website beispielsweise über eine Warenkorbanwendung verfügt, kann der Warenkorbinhalt der einzelnen Kunden jeweils im Sitzungszustand gespeichert werden.

Sie müssen über Arbeitsspeicherressourcen auf dem Server verfügen, um den ASP-Sitzungszustand zu speichern. Die erforderliche Arbeitsspeichermenge hängt davon ab, wie viele Informationen Sie in den einzelnen Sitzungen speichern. Um die von IIS 7 verwendeten Ressourcen zu steuern, können Sie die Einstellungen für den Sitzungszustand angeben. Beispielsweise gibt das max-Attribut an, wie viele Sitzungen maximal gespeichert werden sollen, und das timeout-Attribut gibt die Dauer der einzelnen ASP-Sitzungen an.

Wenn Ihre Anwendungen keinen Sitzungszustand benötigen, können Sie das allowSessionState-Attribut auf „false“ festlegen, um den ASP-Sitzungszustand zu deaktivieren.

Kompatibilität

Version Hinweise
IIS 10.0 Das <session>-Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <session>-Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <session>-Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <session>-Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <session>-Element des <asp>-Elements wurde in IIS 7.0 eingeführt.
IIS 6.0 Das <session>-Element ersetzt die folgenden Metabasiseigenschaften von IIS 6.0:
  • AspAllowSessionState
  • AspKeepSessionIDSecure
  • AspSessionMax
  • AspSessionTimeout

Setup

Um ASP-Anwendungen auf Ihrem Webserver zu unterstützen und zu konfigurieren, müssen Sie das ASP-Modul installieren. Führen Sie die folgenden Schritte aus, um das ASP-Modul zu installieren:

Windows Server 2012 oder Windows Server 2012 R2

  1. Klicken Sie auf der Taskleiste auf Server-Manager.
  2. Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
  3. Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter.
  4. Erweitern Sie auf der Seite Serverrollen die Option Webserver (IIS), erweitern Sie Webserver, erweitern Sie Anwendungsentwicklung, und wählen Sie dann ASP aus.
    Image of Web Server and Application Development pane expanded with A S P selected.
  5. Wenn das Dialogfeld Features hinzufügen, die von ASP benötigt werden? angezeigt wird, klicken Sie auf Features hinzufügen. (Diese Seite wird nur angezeigt, wenn Sie den Rollendienst für ISAPI-Erweiterungen noch nicht auf Ihrem Server installiert haben.)
  6. Klicken Sie auf der Seite Serverrollen auf Weiter.
  7. Klicken Sie auf der Seite Features auswählen auf Weiter.
  8. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  9. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 8 oder Windows 8.1

  1. Bewegen Sie auf dem Startbildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf die Schaltfläche Start, und klicken Sie dann auf Systemsteuerung.

  2. Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.

  3. Erweitern Sie Internetinformationsdienste > WWW-Dienste > Anwendungsentwicklungsfeatures, und wählen Sie anschließend ASP aus.
    Screenshot of Turn Windows on or off feature page with Application Development Features pane expanded and A S P selected.

    Hinweis

    Die Rolle „ISAPI-Erweiterungen“ ist ausgewählt, wenn sie noch nicht installiert wurde.

  4. Klicken Sie auf OK.

  5. Klicken Sie auf Schließen.

Windows Server 2008 oder Windows Server 2008 R2

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager.
  2. Erweitern Sie im Hierarchiebereich Server-Manager die Option Rollen, und klicken Sie dann auf Webserver (IIS).
  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
  4. Wählen Sie im Assistenten zum Hinzufügen von Rollendiensten auf der Seite Rollendienste auswählen die Option ASP aus.
    Screenshot of Select Role Services page of the Add Role Services Wizard displaying A S P selected.
  5. Wenn das Dialogfeld Rollendienste hinzufügen, die von ASP benötigt werden angezeigt wird, klicken Sie auf Erforderliche Rollendienste hinzufügen. (Diese Seite wird nur angezeigt, wenn Sie den Rollendienst für ISAPI-Erweiterungen noch nicht auf Ihrem Server installiert haben.)
    Screenshot of Add Role Services dialog box displaying the Add role services required for A S P question and Add Required Role Services button.
  6. Klicken Sie auf der Seite Rollendienste auswählen auf Weiter.
  7. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  8. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows Vista oder Windows 7

  1. Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste > WWW-Dienste > Anwendungsentwicklungsfeatures.
  4. Wählen Sie ASP aus, und klicken Sie anschließend auf OK.
    Screenshot of Turn Windows features on or off page displaying Application Development Features pane expanded and A S P selected.

Gewusst wie

Konfigurieren von ASP-Sitzungszustandseinstellungen für eine Website oder Anwendung

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):

    • Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager > Tools > Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows 8 oder Windows 8.1:

      • Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Vista oder Windows 7:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
  2. Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Sites, und navigieren Sie dann zu der Website oder Webanwendung, die Sie konfigurieren möchten.

  3. Doppelklicken Sie im Bereich Start der Site oder Anwendung auf ASP.
    Screenshot pf application Home pane displaying A S P highlighted.

  4. Erweitern Sie im Bereich ASP den Abschnitt Sitzungseigenschaften, und konfigurieren Sie die gewünschten Einstellungen.
    Image of A S P pane with Session Properties section expanded and highlighted.

  5. Klicken Sie im Bereich Aktionen auf Übernehmen.

Konfiguration

Attribute

Attribut Beschreibung
allowSessionState Optionales boolesches Attribut.

Gibt an, ob die persistente Speicherung des Sitzungszustands für eine ASP-Anwendung aktiviert ist.

Der Standardwert ist true.
keepSessionIdSecure Optionales boolesches Attribut.

Gibt an, ob eine Sitzungs-ID als sicheres Cookie gesendet wird, wenn sie über einen sicheren Sitzungskanal zugewiesen wird.

Der Standardwert ist true.
max Optionales uint-Attribut.

Gibt die maximal zulässige Anzahl gleichzeitiger Sitzungen an.

Der Standardwert ist 4294967295.
timeout Optionales timeSpan-Attribut.

Gibt den maximalen Zeitraum (hh:mm:ss) an, für den ein Sitzungsobjekt nach der letzten mit dem Objekt verknüpften Anforderung beibehalten wird.

Der Standardwert ist 00:20:00.

Untergeordnete Elemente

Keine.

Konfigurationsbeispiel

Im folgenden Konfigurationsbeispiel wird der ASP-Sitzungszustand aktiviert, die maximale Anzahl von ASP-Sitzungen wird auf „1.000“ festgelegt, und das Sitzungstimeout für die Standardwebsite wird auf zehn Minuten festgelegt.

<location path="Default Web Site">
   <system.webServer>
      <asp>
         <session allowSessionState="true" max="1000" timeout="00:10:00" />
      </asp>
   </system.webServer>
</location>

Beispielcode

In den folgenden Codebeispielen wird der ASP-Sitzungszustand aktiviert, die maximale Anzahl von ASP-Sitzungen wird auf „1.000“ festgelegt, und das Sitzungstimeout für die Standardwebsite wird auf zehn Minuten festgelegt.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/asp /session.allowSessionState:"True" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /session.max:"1000" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /session.timeout:"00:10:00" /commit:apphost

Hinweis

Legen Sie den commit-Parameter auf apphost fest, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei „ApplicationHost.config“ festgelegt.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection aspSection = config.GetSection("system.webServer/asp", "Default Web Site");

         ConfigurationElement sessionElement = aspSection.GetChildElement("session");
         sessionElement["allowSessionState"] = true;
         sessionElement["max"] = 1000;
         sessionElement["timeout"] = TimeSpan.Parse("00:10:00");

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim aspSection As ConfigurationSection = config.GetSection("system.webServer/asp", "Default Web Site")

      Dim sessionElement As ConfigurationElement = aspSection.GetChildElement("session")
      sessionElement("allowSessionState") = True
      sessionElement("max") = 1000
      sessionElement("timeout") = TimeSpan.Parse("00:10:00")

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site");

var sessionElement = aspSection.ChildElements.Item("session");
sessionElement.Properties.Item("allowSessionState").Value = true;
sessionElement.Properties.Item("max").Value = 1000;
sessionElement.Properties.Item("timeout").Value = "00:10:00";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site")

Set sessionElement = aspSection.ChildElements.Item("session")
sessionElement.Properties.Item("allowSessionState").Value = True
sessionElement.Properties.Item("max").Value = 1000
sessionElement.Properties.Item("timeout").Value = "00:10:00"

adminManager.CommitChanges()