I am  using a simple app to test session replication and failover on CF8. When 
using Chrome, FireFox, or Safari everything works correctly. However IE8 fails 
on every call to recognize it has a session (see more details below the code 
clips)

The testing application was downloaded from 
http://www.talkingtree.com/downloads/index.cfm?item=session_test.zip 

Reduced to it’s most simple form it has an Application.cfm file that consists 
of this:

<CFAPPLICATION name="j2ee_session_replication_test" sessionmanagement="Yes" 
clientmanagement="No" setdomaincookies="Yes" >

 

<cfscript>

            System = createObject("java","java.lang.System");

    JRun = createObject("java","jrunx.kernel.JRun");

</cfscript>

 
And an index.cfm page  that has this code:

 
<cfscript>

    session.currentTimestamp = timeformat(now(),"HH:mm:ss");

    message = "[#session.currentTimestamp#] [#JRun.getServerName()#] [New 
Session: #session.isnew()#] [id: #session.sessionid#]";

            System.out.println(message);

    WriteOutput(message);

</cfscript>

<br><br>System.out has written the above data to the console of the active jrun 
server

<br><br><a href="index.cfm">Refresh</a> | <a href="cgi.cfm">CGI</a> | <a 
href="sessionData.cfm"><cfif not 
isdefined("session.myData")>Create<cfelse>View</cfif> nested structure</a>

<br><br>

<CFIF not isDefined("session.session_lock_init_time")>

    <CFLOCK scope="SESSION" type="EXCLUSIVE" timeout="30">

        <cfset session.session_lock_init_time = timeformat(now(),"HH:mm:ss")>

        <cfset session.session_lock_init_servername = JRun.getServerName()>

    </CFLOCK>

</CFIF>

<CFIF session.session_lock_init_servername neq JRun.getServerName()>

    <CFSET session.session_failedOver_to = JRun.getServerName()>

    <br><br>

    <strong><font color="red">

    Session has failed over 

    <BR>from <cfoutput>#session.session_lock_init_servername# 

    <BR>to #JRun.getServerName()#</cfoutput>

    </font></strong><br><br>

<CFELSEIF isDefined("session.session_failedOver_to")>

    <br><br><strong><font color="green">

    Session has been recovered to original server 

    after a failover to <cfoutput>#session.session_failedOver_to#</cfoutput>

    </font></strong><br><br>

</CFIF>

<CFDUMP var="#session#" label="CONTENTS OF SESSION STRUCTURE">

IE8 fails to recognize it has a session 

It is setting cookies… however it is setting 2 jsessionid cookies (I am 
guessing one is upper case and one is lower case).

However the IE jsessionid cookies are only 20 chars long and do not resemble 
the session.sessionid value (other browsers get a jsessionid cookie that is 38 
chars and is the same  as the session.sessionid value).

Also if I delete the jsessionid (programmatically or in the browser settings) 
and close the browser, then hit the page again I am getting the same value back 
(previous jsessionid vlue) for the jsessionid in IE only.

I have checked the IE settings the security setting is the lowest possible.

 This seems really strange…. It works on a non-clustered server. I have also 
taken our load  balancer out and am hitting only one physical web server but it 
still fails in IE.

Here is a link to the test page 
http://eoetb.akc.org/sessiontest/session_test/index.cfm .

Thanks,
 Frederic


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Want to reach the ColdFusion community with something they want? Let them know 
on the House of Fusion mailing lists
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:325182
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to