Rod,

Did you ever find a solution to this problem?
I'm currently building a site that consists of static and ND content, the static 
content is being put together 
by a different department and will be hosted on a different web server. In order to 
retain the ND session while the
person is browsing the static content I need the answer to the problem you've posted. 
All the responses I've seen 
about putting the session ID in a cookie said ND5 but given that we have existing 
applications on our ND4 server 
and we don't have the time or resources to migrate to 5 before the current project is 
expected in production ND 5 
isn't an option.

If you were able to do what you were trying to achieve in ND4 a few hints and a push 
in the right direction would be 
appreciated.

Cheers,
Damien.

===========================================================================
Damien Blumire
Systems Engineer
EDS Australia - [Westpac Account]

"Accept that some days you're the pigeon, and some days you're the statue."
 - Dilbert
===========================================================================


"Rod Waldhoff" <[EMAIL PROTECTED]> wrote:
>Back in ND3.x land, the onBeforeWebEvent method was triggered before 
>>onNewSessionEvent.  While this meant we did not have a session context 
>in onBeforeWebEvent, it did allow us to do this nifty trick:
>
> 1) Write the SPIDERSESSION value to a cookie from some previous ND 
>page.
>
> 2) Let the user tool around in a non-ND site
>
> 3) When the user comes back to ND, during onBeforeWebEvent:
>
>     if(null == CSpider.getWebVar("SPIDERSESSION") {
>        // check for and parse out "cookied" spidersession 
>        // value, if available, then
>        CSpider.putWebVar("SPIDERSESSION", cookiedValue);
>     }
>
>    Later, when ND attempts to parse out the SPIDERSESSION value, it 
>can't even tell that the value came from the cookie.  Hence we could 
>seamlessly obtain the SPIDERSESSION from the cookie when no POSTed or 
>URL-encoded value was available.
>
>Here in ND4.x-ville, however, the CSpProjectSessionEvent of type 
>ON_NEW_SESSION_EVENT is fired before the CSpProjectHtmlEvent of type 
>ON_BEFORE_WEB_EVENT.  In fact, the NEW_SESSION event seems to be fired 
>before anything else we can get our hands on.  This means by the time we 
>get to onBeforeWebEvent, the session is already read from the "web var", 
>and our nifty trick does not work.
>
>(Note that while the ND4.x API docs still claim that "At the time [the 
>onBeforeWebEvent] is triggered, the session ID is not yet known. 
>Therefore, you cannot read or change any user session objects." [see 
>file:///C%7C/NetDynamics/NetDynamics40/Docs/res/objframe/spider.event.ISpProjectHtmlListener.html#onBeforeWebEvent]
> 
>this is _not_ _true_.  In my brief test I was able to both read and 
>write user session data within onBeforeWebEvent.)
>
>While the ND3.x behavior was nice in that no new session is created if a 
>valid "cookied" session is available, what I'm really after is a way to 
>reenter the user's session based upon the cookie's value.  Once I've got 
>a valid CSpSession, it should be easy to enter that session via 
>CSpider.setUserSession(), but I don't see a terribly clean way of 
>creating a CSpSession given the SPIDERSESSION value. 
>
>Can any one answer this? (i.e., given the SPIDERSESSION value, create 
>the corresponding CSpSession, or more generally, writing enough 
>CSpSession data down to the cookie so that we could recreate it from the 
>cookie value.)
>
>Or, even better, can someone offer a 4.x way of achieving the 3.x 
>functionality (restablishing the "cookied" session before a new session 
>is created)?
>
>Thanks,
> - rod <[EMAIL PROTECTED]>
>
>
>______________________________________________________
>Get Your Private, Free Email at http://www.hotmail.com

_________________________________________________________________________

For help in using, subscribing, and unsubscribing to the discussion
forums, please go to: http://www.netdynamics.com/support/visitdevfor.html

For dire need help, email: [EMAIL PROTECTED]

Reply via email to