Utz Grimminger: Objektinstanzen in Sessionvariablen - bringt's was?

Beitrag lesen

Hallo Forum,

ich bin gerade an einer Web-Applikation, deren Client-Frontend (nennt man das so?) aus zwei ASP-Seiten besteht, die immer wieder Funktionen aus einer serverseitigen ActiveX-DLL aufrufen.
In einer ersten Variante hab ich bei jedem Seitenaufruf eine neue Objektinstanz der DLL erzeugt. Dann dachte ich, dass das möglicherweise Ressourcen verschleudert, und hab die beim Erstaufruf erzeugte Instanz in 'ne Sessionvariable gespeichert. Das funzt auch prima, bloß: jetzt scheint mir das Ganze langsamer zu gehen als mit der alten Variante. Weiß da wer was drüber, warum das so ist? Bzw. ob ich was falsch mache? Bzw. ob das vermutlich bloß 'ne Sinnestäuschung ist?

Hier mal die Sourcen der Dateien:

xmltest.asp

<%

If IsObject(Session("xmlconn")) Then
  Set xmlDoc = Session("xmlconn")
Else
  Set xmlDoc = Server.CreateObject("Project1.WebClass")
  Set Session("xmlconn") = xmlDoc
End If

xmlDoc.Transform

response.write(xmlDoc.HTML)

%>

xmlDoc.HTML ist im wesentlichen ein erzeugtes HTML-Formular, das folgende Seite aufruft:

receiver.asp

<%

Set xmlDoc = Session("xmlconn")

For each feld in Request.Form
  If request.Form(feld) <> "" Then
    xmlDoc.Update CStr(feld), request.Form(feld)
  End If
Next

response.redirect "xmltest.asp"

%>

Danke und Grüße,

Utz