expertenaustausch > microsoft.* > microsoft.german.entwickler.dotnet.asp

Reinhard Lehner (01.04.2004, 21:29)
Hallo!

Meine ASP.Net 1.1 App lief bisher problemlos auf WinXP. Seit Portierung auf
Win2003Server tritt dieses bisher nicht gelöste Problem auf:

Das Speichern von Sessionvariablen wie etwa:
HttpContext.Current.Session("xVar") = Value
ruft folgenden Fehler hervor:
"System.NullReferenceException. Object Reference is not set to an
instance of an object."

HttpContext.Current.Session ist undefiniert - warum?!

In web.config ist <sessionState mode="InProc" /> gesetzt.
Auch die page-Direktive EnableSessionState="true" habe ich gesetzt mit Null
Effekt.

Woran liegt's?! Please help.

Grüße
Reinhard
Karsten Samaschke [MVP] (01.04.2004, 22:43)
Reinhard Lehner wrote:

> HttpContext.Current.Session ist undefiniert - warum?!


Wo genau versuchst Du denn auf die Session zuzugreifen? In einem
HttpModul oder der global.asax? Falls ja: Bei welchem Ereignis?
Reinhard Lehner (02.04.2004, 08:51)
Hallo Karsten, danke für die Antwort.

Im VB-Codebehind einer Login-Seite bei Button-Click:

Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnLogin.Click

If Page.IsValid = True Then

Dim accountSystem As IB_Common.Common = New IB_Common.Common
If accountSystem.Login(MemberName.Text, password.Text) Then

HttpContext.Current.Session("MemberId") =
CStr(accountSystem.MemberID)

Response.Redirect("MemberPersonalHome.aspx", True)
Else
Message.Text = "Anmeldung fehlgeschlagen! Bitte überprüfen Sie
Ihre Anmeldedaten."
End If
End If

End Sub

Grüße
Reinhard

"Karsten Samaschke [MVP]" <msnews> wrote in message
news:2do1
[..]
Stefan Falz [MVP] (02.04.2004, 09:01)
Hallo Reinhard,

"Reinhard Lehner" schrieb:

> Im VB-Codebehind einer Login-Seite bei Button-Click:


ASPX oder ASCX? Bei ersterem greifst du normal direkt auf
Session(...) zu, bei letzterem über HttpContext.Current...

> HttpContext.Current.Session("MemberId") =
> CStr(accountSystem.MemberID)


BTW: Sicher, dass der Fehler von HttpContext und nicht von
accountSystem kommt?
Reinhard Lehner (02.04.2004, 09:40)
Hi Stefan,

ganz sicher liegt es an HttpContext, bzw. am Session-Objekt.

Habe verschiedene Varianten auch ohne mein accountSystem versucht, z.B.:
HttpContext.Current.Session("MemberId") = "20" -> selber Fehler

Auch
Session("MemberId") = "20" funktioniert nicht.

Aus irgendeinem Grund ist das Session-Objekt nicht verfügbar.
Wie gesagt aber nur unter WinServer2003, unter WinXP funkt alles bestens.

Grüße
Reinhard

"Stefan Falz [MVP]" <ms.news> wrote in message
news:3288
[..]
Reinhard Lehner (02.04.2004, 10:37)
Nachtrag: ASPX

"Stefan Falz [MVP]" <ms.news> wrote in message
news:3288
[..]
Simon Gorski (02.04.2004, 10:54)
Könnte es vielleicht sein, dass du Session-Einstellung in der web.config
nicht auf InProc hast?

mfg simon g.
Reinhard Lehner (02.04.2004, 11:12)
Hi,
das ist die web.config der Applikation:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ConnectionString"
value="server=localhost;Trusted_Connection=true;da tabase=IB" />
</appSettings>
<system.web>
<authentication mode="Forms">
<forms name="IBAuth" loginUrl="login.aspx" protection="All"
path="/" />
</authentication>
<customErrors mode="RemoteOnly" defaultRedirect="ErrorPage.aspx" />
<sessionState mode="InProc" />
<compilation debug="true"/>
</system.web>
</configuration>

Grüße
Reinhard

"Simon Gorski >" <<s_gorski> wrote in message
news:3764
Ähnliche Themen