session-state

___ answer31462407 ___

Ich dachte, ich würde ein (längst überfälliges) Update veröffentlichen - es war definitiv die gespeicherte Prozedur, die das Problem am Ende verursacht, wie in meinem Update oben. Wenn Sie die gleichen Probleme haben, schlage ich vor, es komplett zu deaktivieren - aber es hat den Trick für uns gemacht.

    
___ qstnhdr ___ .Net seltsame Session Bug - Variablen verschwinden aufgrund neuer Sitzung während des Postbacks ___ qstntxt ___

Ich habe ein wirklich, wirklich seltsames Problem, von dem ich hoffe, dass jemand etwas Licht darauf werfen kann. Wir haben eine Form, die uns Probleme verursacht hat, und durch Debugging usw. wurde festgestellt, dass dies auf eine Session-Variable zurückzuführen war, die "zufällig" verschwand.

Wir wissen, dass es kein Code ist - um das zu eliminieren, haben wir eine wirklich einfache Form mit einem Buchstaben und einem Knopf geklopft. Wenn es sich beim Laden der Seite nicht um ein Postback handelt, legt es eine Sitzungsvariable fest, sagen Sie "myvalue" mit dem Datum und der Uhrzeit. Wenn der Benutzer auf die Schaltfläche klickt, wird die Sitzung für diese Variable überprüft und anschließend angezeigt, ob sie vorhanden war oder nicht. Es wird dann die Sitzung verlassen, damit die nächsten Läufe gelöscht werden (dies geschieht nicht in der oben beschriebenen Form - das ist nur zum Testen).

Allerdings werden 90 von 100 Fällen (um der Argumente willen) so gehandhabt, wie Sie es erwarten würden. Aber für diese 10, verstreut über den Test nach dem Zufallsprinzip - also keine bestimmten Zeitspannen oder Testwiederholungen - wird es berichten, dass die Variable verschwunden ist.

Jetzt habe ich bestätigt, dass dies zu 100% der Fall ist, weil die Sitzung sich in völlig zufälligen Intervallen neu startet. Beim ersten Laden der Seite gibt es an, dass IsNewSession true ist - was ich beim ersten Mal erwarten würde. Beim Postback ist es auf IsNewSession = false gesetzt - wieder, was ich erwarten würde, und meine Variable zu booten ist in Ort.

Wenn es jedoch schief geht, ist die erste Anfrage IsNewSession wahr, aber beim Postback wird sie wieder auf "True" gesetzt - ohne Variablen im Speicher.

Die Umgebung verwendet die AspState-Datenbank (SQL Server). Es gibt nichts Offensichtliches - und was noch schlimmer ist, ist die zufällige Natur des Problems. Timeouts sind praktisch eliminiert. Der einzige Unterschied besteht darin, dass sich diese in einer LOAD BALANCED-Umgebung auf 4 Servern befindet. Wir haben die Anwendungs-ID in IIS (7.5) überprüft und sie sind alle gleich - gleiche Maschinenschlüssel usw.

Hat jemand eine Idee, was hier vor sich geht? Es ist .Net 2 BTW, das könnte das Problem sein - Ich hoffe, es ist ein bekanntes Problem mit der Versionsverwaltung dieser Versionen, aber bis jetzt kann ich nichts finden, das die Ursache zeigen könnte.

Das Problem scheint nicht angezeigt zu werden, wenn InProc auf einem Server verwendet wird. Es scheint nur mit Sql Server zu passieren.

Vielen Dank im Voraus - wirklich jede Hilfe zu schätzen,

Prost, Tony

Aktualisierung:

Wir denken, wir haben das Problem gelöst. Die gespeicherte Prozedur DeleteExpiredSessions wird jede Minute ausgeführt. Dies ist die angepasste Version, die Microsoft in ihrem KB-Artikel Ссылка empfohlen hat. Dies wurde jede Minute live ausgeführt - also haben wir dies im Test repliziert (was auch Last ausgeglichen ist) und den Job so eingerichtet, dass er im selben Intervall läuft.

Das Gleiche ist im Test passiert. Indem Sie dies im Live deaktivieren, ist das Problem jetzt verschwunden.

Offensichtlich blockiert es entweder (was wir in den Protokollen oder dem Aktivitätsmonitor nicht sehen können) oder entfernt noch gültige Sitzungen.

Hat das schon mal jemand gesehen? Meine aktuelle Theorie ist, dass die Sitzung bei jedem Aufruf des Servers, auf dem Sie landen, initialisiert wird, aber dann bei der Postback-Umleitung zu einem anderen Server, aus welchem ​​Grund auch immer, wird die Sitzung als "ungültig" betrachtet und wiederverwendet.

    
___ tag123aspnet ___ ASP.NET ist ein Framework zur Entwicklung von Microsoft-Webanwendungen, mit dem Programmierer dynamische Websites, Webanwendungen und Webdienste erstellen können. Es ist nützlich, dieses Tag in Verbindung mit dem Typ des Projekttyps zu verwenden, z. [asp.net-mvc], [asp.net-webforms] oder [asp.net-web-api]. Verwenden Sie dieses Tag NICHT für Fragen zu ASP.NET Core - verwenden Sie stattdessen [asp.net-core]. ___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123session ___ Eine Sitzung bezieht sich auf alle Anforderungen, die ein einzelner Client an einen Server stellt. Eine Sitzung ist spezifisch für den Benutzer und für jeden Benutzer wird eine neue Sitzung erstellt, um alle Anfragen von diesem Benutzer zu verfolgen. ___ tag123sqlserver ___ Microsoft SQL Server ist ein relationales Datenbankverwaltungssystem (RDBMS). Verwenden Sie dieses Tag für alle SQL Server-Editionen, einschließlich Compact, Express, Azure, Fast-Track, APS (früher PDW) und Azure SQL DW. Verwenden Sie dieses Tag nicht für andere Arten von DBMS (MySQL, PostgreSQL, Oracle usw.). Verwenden Sie dieses Tag nicht für Probleme bei der Software- und mobilen Entwicklung, es sei denn, es steht in direktem Zusammenhang mit der Datenbank. ___ tag123essessionstate ___ Der Sitzungsstatus ermöglicht das Abrufen von Werten für einen bestimmten Benutzer, wenn dieser Benutzer durch eine Website navigiert. Es wird verwendet, um den Status während eines Besuchs innerhalb der Beschränkungen des zustandslosen HTTP-Protokolls aufrechtzuerhalten. Sitzungsstatus wird üblicherweise als Sitzung abgekürzt. ___ answer18969773 ___

Nur eine wilde Vermutung, aber überprüfen Sie die Systemuhr auf Ihren Servern und stellen Sie sicher, dass sie synchron sind und in genau derselben Zeitzone liegen (einschließlich der Sommerzeit-Einstellungen).

    
___
3
Antworten

Einstellung für Sitzungstimeout in ASP.Net

Ich habe in der web.config-Datei eine Session-Zeit bis zu 9 Stunden eingestellt, etwa so: %Vor% Aber oft beschweren sich Benutzer darüber, dass sie sich in weniger als 9 Stunden der Inaktivität einer Auszeit gegenübersehen, und das Zeitinter...
23.10.2012, 08:56
2
Antworten

Freigabe des SQL Server-Sitzungsstatus in Webanwendungen

Ich richte eine sehr einfache Demo des SQL Server-Sitzungsstatus ein, habe aber Probleme damit, es zu funktionieren. Ich versuche dies lokal mit Windows 7 mit IIS 7.5 und SQL Server 2008 R2 zu testen. Letztendlich muss ich die Anzahl der Ben...
29.10.2012, 21:56
1
Antwort

Wann sollte setUserState in Joomla verwendet werden?

DETAILS Ich kann Benutzerstatusvariablen verwenden, um Daten in Joomla-Sitzungen zu speichern und abzurufen. BEISPIEL Variable setzen %Vor% , aber ich kann auch Variablen in der Sitzung mit JFactory / getSession speichern und abrufe...
02.11.2012, 13:29
2
Antworten

Web-API-Dienst - Wie die Anforderungen auf dem Server gleichzeitig ausgeführt werden

Ich verwende einen WebApi Rest Service Controller, der von IIS 7.5 gehostet wird. wie ich von diesem Beitrag verstanden habe: Sind alle Web-Anfragen ausgeführt? parallel und asynchron behandelt? Ein webApi -Dienst führt standardmäßig a...
25.05.2014, 13:52
1
Antwort

ASP.NET MVC-Sitzungsstatus

Ich versuche gerade, ein Upload-Steuerelement mit Fortschrittsbalken in MVC mit jquery zu erstellen. Ich laufe jedoch auf ein Problem, in dem mvc nicht in parallelen Threads funktioniert? Wenn ich eine Datei hochlade und den Fortschritt beim...
30.11.2008, 21:15
3
Antworten

Google Chrome speichert Sitzungsvariablen nach dem Schließen des Browsers

Ich benutze asp.net Forms Version 4 und benutze die eingebaute FormsAuthentication. Ich habe gewählt, den Benutzer nicht zu beharren. %Vor% Wenn ich den Browser in IE und Firefox schließe. Meine Sitzungsvariablen sind zerstört und ich werde...
27.07.2012, 17:07
2
Antworten

.Net seltsame Session Bug - Variablen verschwinden aufgrund neuer Sitzung während des Postbacks

Ich habe ein wirklich, wirklich seltsames Problem, von dem ich hoffe, dass jemand etwas Licht darauf werfen kann. Wir haben eine Form, die uns Probleme verursacht hat, und durch Debugging usw. wurde festgestellt, dass dies auf eine Session-Varia...
18.09.2013, 15:00