.NET Session funktioniert nicht
Dies ist ein seltsames, aber hoffentlich kann jemand mir eine Vorstellung hier. Ich bin putting ein paar Werte in die session in der Session_Start
des Global.asax
in meiner app. Unmittelbar nach der Session_Start
mein-base-Seite ist OnInit
aufgerufen wird und versucht, einen von denen benutzen Session
Variablen.
Dem seltsamen Teil ist, manchmal klappt es, und dann, nach dem KEINE änderungen anfangen, mir diese Fehlermeldung:
"Session state kann nur verwendet werden, wenn
enableSessionState
eingestellt isttrue
,
entweder in einer Konfigurationsdatei oder in
diePage
Richtlinie. Bitte achten Sie auch
sicher, dass
System.Web.SessionStateModule
oder eine
benutzerdefiniertes sitzungszustandsmodul ist
enthalten in der
<configuration>\<system.web>\<httpModules>
Abschnitt in der Anwendung
Konfiguration").
Ich habe lange gesucht, um alle verschiedenen Möglichkeiten auf die Sitzung in der web.config
. Hier ist, wie es jetzt aussieht:
<system.web>
...
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpHandlers>
<xhtmlConformance mode="Legacy"/>
<pages>
<!-- enableSessionState="true" autoEventWireup="true" enableViewState="true" enableViewStateMac="true" -->
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>
</pages>
<httpModules>
<!--<add name="Session" type="System.Web.SessionState.SessionStateModule"/>-->
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
</system.web>
Können Sie sehen, ich habe einige Sachen auskommentiert, insbesondere die enableSessionState="true"
und <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
denn Sie waren noch nie da vorher und es immer benutzt, um zu arbeiten. Aber ich habe versucht, es mit Ihnen beiden aktiviert, die eine oder andere aktiviert, es funktioniert einfach nicht einen Unterschied machen.
Dies ist eine app, die hat in der Produktion seit Jahren, ich bin nur kleine änderungen, die wahrscheinlich von denen der größte ist das hinzufügen einer "Titelzeile" Seite, um es und ein Upgrade von 2.0 auf 3.5. Ich habe nicht versucht, indem die enableSessionState
auf die Seite der Richtlinien, weil es hat nicht funktioniert in der web.config
ich verstehe nicht, warum es funktionieren würde, direkt auf der Seite, und ich würde es hassen, zu schmutzig ist die app mehr oder Abfall mehr Zeit vergeblich versucht zu aktivieren-session.
Jemand irgendwelche anderen Ideen?
Dank,
Jeff
Lokal IIS6 auf " test & Produktion IIS7.
Ist dieses Manko in beiden IIS6 und IIS7?
lokal (IIS6) es nicht sofort. Im test-es ist in Ordnung, bis ich zu ändern, wer ich bin angemeldet als die möglicherweise oder möglicherweise nicht über ein separates Thema, aber da kann ich nicht testen, bis ich diese behoben hab ich, läuft es lokal, so kann ich diese Figur ein 🙁
Sie wahrscheinlich nicht brauchen stateConnectionString oder sqlConnectionString in Ihrem sessionState-Knoten. Ich bin sicher, dass das nicht die Ursache Ihres Problems, aber...
InformationsquelleAutor Jeff Keslinke | 2009-06-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
HALTEPUNKTE!
Hatte ich Haltepunkte in der Konstruktor-Methoden der Basis-Seite und die Hauptseite, als auch die Session_Start und die OnInit. Ein Mitarbeiter löscht alle Haltepunkte im debugger, und das problem verschwand!
Ugh!
Unglaublich, hatte gerade das gleiche Problem.
InformationsquelleAutor Jeff Keslinke
Ich die gleiche Erfahrung mit einem breakpoint an eine variable Instanzierung und das laden der Seite einige session-Werte. Unter Windows 7 /VS2010. Wenn ich deaktivieren Sie den breakpoint es ist dann in der Lage, laden Sie die Sitzung Zustand.
InformationsquelleAutor John