Using Olympia for session management requires a supertcpchannel, correct?
When IIS tries to shutdown an ISAPI dll with a
TROSuperTCPChannel that is there for talking to Olympia the dll hangs on shutdown at the line where it calls
fw.WaitFor in unit
uROBaseSuperChannel in procedure
This also happens only if the
TROSuperTCPChannel is set to false.
The destructor sets the TROBaseSuperTCPChannel.Active to false thus initiating the noted behavior.
Run the client exe without debugging.
Run the w3wp.exe with the -debug switch as the host of the server dll.
In the client.exe enter the website where the dll is running and press Get Server Time.
Press q in the console window to shutdown.
Set two breakpoints in the dll’s WebModuleDestroy procedure of Unit1. One at the
ROSuperTCPChannel1.Active := false; line and the other on the line after that.
Observe that the first breakpoint gets hit but not the second.
Here is a sample test project if that helps. SuperTCPChannelTest.zip (2.5 MB)