Sitzungsstatusserver kann nicht verwendet werden, da für diese Version von ASP.NET sitzungsstatusserver Version 2.0 oder höher erforderlich ist

Dieser Artikel hilft Ihnen, das Problem zu beheben, das auftritt, wenn Sie dem Statusserver die Einstellung hinzufügen <httpRuntime enableVersionHeader ="false"/> web.config (Master-web.config), um den Header auszublenden, X-AspNet-Version: 2.0.50727 während Sie die Sitzungsverwaltung mit ASP.NET Statusdienst verwenden.

Ursprüngliche Produktversion:   Microsoft ASP.NET
Ursprüngliche KB-Nummer:   2836759

Problembeschreibung

Wenn Sie die Sitzungsverwaltung mit ASP.NET Statusdienst verwenden, wird beim Hinzufügen der Einstellung <httpRuntime enableVersionHeader ="false"/> zum Zustandsserver web.config (Master-web.config) zum Ausblenden des X-AspNet-Version: 2.0.50727 Headers möglicherweise der folgende Fehler angezeigt:

HttpException (0x80004005): Sitzungsstatusserver kann nicht verwendet werden, da für diese Version von ASP.NET die Sitzungsstatusserverversion 2.0 oder höher erforderlich ist.

Diese Ausnahme tritt auf, wenn der Sitzungscache zum ersten Mal verwendet wird, nachdem die Anwendung auf dem Server veröffentlicht wurde, oder nachdem IIS neu gestartet wurde oder nachdem der Anwendungspool wiederverwendet wurde. Nachfolgende Verwendungen des Sitzungscaches nach dem Auslösen der ersten Ausnahme führen nicht zu einem Fehler. Der Sitzungscache funktioniert weiterhin ordnungsgemäß, bis die nächste Veröffentlichung der Anwendung, ein IIS-Neustart oder die Wiederverwendung des Anwendungspools erfolgt.

Ursache

Der X-AspNet-Version: 2.0.50727 Header wird vom Statusdienst an IIS gesendet. Beim Senden der Antwort an die Webanwendung sollte der Statusserver diesen Header enthalten.

Wenn wir die Einstellung <httpRuntime enableVersionHeader ="false"/> dem Zustandsserver web.config (Master-web.config) hinzufügen, wird dieser Header nicht vom Statusserver an IIS gesendet und löst daher die oben genannte Ausnahme aus.

Lösung

  1. Dem <httpRuntime enableVersionHeader ="true"/> Master-web.config hinzufügen. Die Master-web.config wird bei C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config oder je nach C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\CONFIG\web.config Bitanzahl gefunden.

  2. Hinzufügen <httpRuntime enableVersionHeader ="false"/> zu lokalen web.config der Anwendung.

    Hinweis

    Stellen Sie sicher, dass Sie den Zustandsdienst nach den Konfigurationsänderungen neu starten.

Weitere Informationen

Da der X-AspNet-Version: 2.0.50727 Header vom Statusserver gesendet wird, wird durch Festlegen des <httpRuntime enableVersionHeader ="true"/> Master-web.config sichergestellt, dass der Statusserver den Header an IIS sendet. Wenn <httpRuntime enableVersionHeader ="false"/> dies auf Anwendungsebene web.config festgelegt ist, sendet IIS den Header nicht an den Browser, und Sie können den X-AspNet-Version: 2.0.50727 Header nicht in einer Netzwerkablaufverfolgung sehen.

Eine bessere Möglichkeit zum Überwachen des Netzwerkdatenverkehrs besteht darin, nur <httpRuntime enableVersionHeader ="true"/> im Master-web.config festzulegen. Dann sehen Sie in einer Netzwerkablaufverfolgung den folgenden Codeausschnitt mit den Framedetails, die von ASPNET vom Statusserver an IIS gesendet werden.

00 15 5D F4 C0 6D 00 15 5D F1 3E 65 08 00 45 00 00 7A 79 D2 40 00 80 06 00 00 AC 16 F2 11 AC 16
F2 2F A5 B8 12 E4 2E 55 75 CA 57 D4 A3 18 50 18 FF 15 3C DB 00 00 32 30 30 20 4F 4B 0D 0A 58 2D
41 73 70 4E 65 74 2D 56 65 72 73 69 6F 6E 3A 20 32 2E 30 2E 35 30 37 32 37 0D 0A 43 61 63 68 65
2D 43 6F 6E 74 72 6F 6C 3A 20 70 72 69 76 61 74 65 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 74
68 3A 20 30 0D 0A 0D 0A

..]ôÀm..]ñ>e..E..zyÒ@.?...¬.ò.¬.ò/¥¸.ä.UuÊWÔ£.P.ÿ.<Û..200 OK..X-AspNet-Version: 2.0.50727..
Cache-Control: private..Content-Length: 0....