ISAPI DLL not working correctly on Windows Server 2016 Server Standard

I ask this here because of the depth of experience here–I am really at a loss of how to fix this problem. (I don’t think it is specifically related to RO, but I haven’t got help elsewhere).

I have an ISAPI DLL that works when I run the exact same code in a Windows app, and on my Windows 10 workstation inside of IIS. But when I deploy it to our server, it stops functioning correctly.

The difference is that it is that the TCP/IP connections to the database (Firebird; using IBObjects) do not close on the server. They do close in the Windows app and in Windows desktop IIS. I monitor this with System Explorer.

The code is really pretty clean:

Create Data Module;
try
Do Stuff;
finally
Destroy Data Module;
end;

The Destroy calls the .Close for the database connection, and the data module also owns the connection object so it destroys the connection.

I cannot figure out what is happening. I’ve had my senior engineer look over my shoulder and it doesn’t seem like I am missing the obvious.

Any suggestions?

Ed Dressel

will your isapi dll work correctly with IIS Express?
IIS Express allows to debug isapi dll and see what is happened and what is wrong.

I tested after posting this and yes, it is working in IIS on Windows 10.

This was fixed by making sure the correct Firebird (FB) client library was loaded. It seems that it may have been loading the incorrect library and then not functioning normally. Explicitly assigning the library resolved the problem. Thanks for the assistance.

Ed Dressel

1 Like