There is absolutely no difference between the CGI and ISAPI modules when it comes to cookies. They both support them 100%. I am fairly sure that the problem is related to your programs switching from the one to the other instead of using relative URLs.
By default, browsers only send cookies back to the server if the URL path for the originating request is the same as the path for the current request. For example, assume that you use the URL
http://www.name.com/scripts/foxweb.exe/test to call a script, which returns a cookie to the browser. This cookie will not be sent back to the server if you call the URL
http://www.name.com/scripts/foxweb.dll/test, because the path to the program is different. Paths are case sensitive, so even if you called
http://www.name.com/scripts/FoxWeb.exe/test the browser would not send the cookie. The cookie would be sent with the URL
http://www.name.com/scripts/foxweb.exe/SomeOtherScript.
There are two ways to get around this problem:
1. Use relative URLs as described in the "Locating and Addressing Your Scripts" topic of the FoxWeb documentation. This will ensure that the path to your program is always the same.
2. Specify "/" as the cookie path. This will force the browser to send the cookie back to the server, no matter what the URL path looks like. For more details on cookie paths refer to the "Session Management" topic of the FoxWeb documentation.
Sent by Oleg Goncharuk on 10/16/2001 06:00:31 AM:
I have a page that sets certain per-session cookie for the domain and then loads another page with IFRAME within.
When Foxweb is set as CGI application (foxweb.exe), the cookie is seen both from new page VFP script and IFRAME page VFP script.
When Foxweb is set as foxweb.dll, then cookie is not visible inside VFP code.
I'm using compatibility mode and old way CGI.cookie to get a value.