I have been experimenting with the technique introduced by Bruce at the webinar on thursday.
The idea is to save the sessions at shutdown, replace the binary, restart the server and load back the session queues, all without the users even noticing the service was down a few seconds.
No cigar yet
As Bruce suspected, there seems to be a problem with the session data queue, probably with the pointers to external values (string over 256 bytes I think it was).
There are quite a few of them, for instance browse filters, lastvalue, firstvalue and so on.
So now when the server reads in the data queue containing extvalues, this will lead to a crash.
This is the code at startup
xml.Load(ThisWebServer._SessionQueue,'Session.xml','SessionQueue','row')
xml.Load(ThisWebServer._SessionDataQueue,'Sessiondata.xml','SessionDataQueue','row')
xml.Load(ThisWebServer._BrowseIdQueue,'BrowseIdQueue.xml','BrowseIDQueue','row')
xml.Load(ThisWebServer._SettingsQueue,'SettingsQueue.xml','SettingsQueue','row')
xml.Load(ThisWebServer._BrowseSettingsQueue,'BrowseSettingsQueue.xml','BrowseSettingsQueue','row')
In xml this might look like:
[font=Verdana][size=10pt] <row>
<SESSIONID>81B0Aq73Fte6TOuhAa4sANaHJBaFpn</SESSIONID>
<TABID/>
<NAME>henkilotaulu_filter_360032</NAME>
<VALUE/>
<PICTURE/>
<VALUEFORMATTED>0</VALUEFORMATTED>
<VALUEEXISTS>0</VALUEEXISTS>
<EXTVALUESIZE>1024</EXTVALUESIZE>
<EXTVALUELEN>1024</EXTVALUELEN>
<EXTVALUE>Ø
b </EXTVALUE>
</row>
<row>
<SESSIONID>81B0Aq73Fte6TOuhAa4sANaHJBaFpn</SESSIONID>
<TABID/>
<NAME>henkilotaulu_firstvalue_360032</NAME>
<VALUE/>
<PICTURE/>
<VALUEFORMATTED>0</VALUEFORMATTED>
<VALUEEXISTS>0</VALUEEXISTS>
<EXTVALUESIZE>1024</EXTVALUESIZE>
<EXTVALUELEN>1024</EXTVALUELEN>
<EXTVALUE>XTm </EXTVALUE>
</row>
<row>
<SESSIONID>81B0Aq73Fte6TOuhAa4sANaHJBaFpn</SESSIONID>
<TABID/>
<NAME>henkilotaulu_lastvalue_360032</NAME>
<VALUE/>
<PICTURE/>
<VALUEFORMATTED>0</VALUEFORMATTED>
<VALUEEXISTS>0</VALUEEXISTS>
<EXTVALUESIZE>1024</EXTVALUESIZE>
<EXTVALUELEN>1024</EXTVALUELEN>
<EXTVALUE>ÈXm </EXTVALUE>
</row>[/size][/font]
Any ideas?
TIA
:: rainer