View Complete Thread | FoxWeb Forum Home
Search:
Date:    Msg ID:   
From:    Thread:   
Subject:   
One reason why you may end up with two connections is if an error occurs after the first request.  The FoxWeb error handler clears all variables, which would include gnDBConnection.  You can find out if the connection code is executed twice by adding some diagnostic code:
If VarType(gnDBConnection) = 'U'
   Public gnDBConnection
   Response.Write("Creating connection")
   *-- Code for connecting to database
EndIf
If you see the above message more than once, then this would indicate that the IF block is executed multiple times.
FoxWeb Support Team
support@foxweb.com email
Sent by Gabriel Badea on 05/05/2007 04:56:25 AM:
That's why I said that I tested with only one channel.  I understand that public variables are only visible in the channel (VFP process) that processed the request.
Therefore, since I am certain that the same channel answered the request, my question stands.
>>Am I correct in assuming that public variables are NOT shared between domains (in the same channel) ?
Thanks,
Gabriel
Sent by FoxWeb Support on 05/03/2007 07:43:08 PM:
This has nothing to do with the fact that you are running two separate virtual hosts.  Public variables are only visible within a single process of VFP.  Each channel runs in a separate VFP process, so if your two requests happened to be served by a different channel, then they would not be able to see each other's public variables.  As long as your code works as expected, you should have no more connections than the number of channels.
FoxWeb Support Team
support@foxweb.com email
Sent by Gabriel Badea on 05/03/2007 01:41:45 PM:
Hi,
I have two foxweb licences and I'm serving two domains from the same server. 
My question is about public variable visibility from requests from one domain to another.
Let me clarify with an example.  I use fw_enter to check if a database connection has been established like so :
If VarType(gnDBConnection) = 'U'
   Public gnDBConnection
   *-- Code for connecting to database
EndIf
I tested after restarting foxweb (configured with 1 channel) with a call to each domain's web site.
After my test I had two connections, one to each SQL Server database.  To me that says that public variables are not shared between domains. 
Is my assumption correct ???
Thanks,
Gabriel