FoxWeb tries to maintain the session table, by packing it on startup. It's tough to do it at other times, because it requires an exclusive lock, which is impossible to get while multiple channels are running. It also re-uses expired session records in the table, but this does not help much (see below).
Part of the problem is caused by the method that VFP uses to maintain memo fields. Whenever the contents of a memo field change, VFP appends the new content to the end of the FPT file and simply forgets about the old content (but leaves it alone). In effect you end up with a copy of every old version of each memo field and the old versions are stored, until the table is packed. VFP uses this method in order to avoid moving large chunks of data around, which would kill performance. The downside is that given frequent updates, the FPT file could expand to a huge size, even for a relatively small number of manageable-size memo fields.
FoxWeb stores session variables for each user session in a single memo file (it actually uses the SAVE TO MEMO command). If even a single session variable is changed, the whole memo field is copied.
Another possibility is to just restart FoxWeb once per day. This will ensure that the session table is packed.
FoxWeb Support Team
Sent by Martin Martin on 05/01/2014 06:42:35 AM:
I'm still having problem with this file. (_fwsession.FPT)
2 times a mount / the server give the error :
FoxWeb Foundation Program
"here is not enough disk space for c:\foxtempfiles\_fwsession.fpt." and "Memory file is invalid."
Then I have to locate the file, wich is over 2Gig, STOP FOXWEB SERVICES, and delete DBF,CDX and FPT.
then restart the services ... and everything is back to normal.
I have approximately 300 login per day, and create session in same times.
Users stay all day long on the server.
Do you have a way to self maintain this file?
Thanks for your help