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
Dem
<httpRuntime enableVersionHeader ="true"/>Master-web.config hinzufügen. Die Master-web.config wird beiC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.configoder je nachC:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\CONFIG\web.configBitanzahl gefunden.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....