RTC Forums
May 20, 2024, 08:03:34 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: Convert to ISAPI not working - Response not sent  (Read 4021 times)
segnew
RTC Expired
*
Posts: 2


« on: November 18, 2016, 07:25:49 PM »

Hello:

I have an RTC executable I am converting to an ISAPI dll.  I attempted to follow the instructions.

I started by creating a new DLL with a /TIME provider in a single data module with an rtcIsapiServer.
This DLL works correctly.
I am using this working ISAPI DLL example as a base for converting my existing EXE to a DLL.

I replaced the rtcIsapiServer with a rtcDataServerLink and linked all my rtcDataProviders to it.

I created a new data module and added a rtcIsapiServer.
I added an OnCreate event in the new datamodule that says:
dmProviders.RtcDataServerLink1.Server := RtcIsapiServer1;

I copied this to my web server and accessed the DLL using:  ...test.dll/time
This is what is shown in the browser:

Internal Server Error
Exception: Response not sent! Need to send complete response from ISAPI.

What is wrong?

Thanks, Sidney
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #1 on: November 18, 2016, 09:15:09 PM »

The error you are getting means that none of the DataProviders linked to the ISAPI Server have accepted the request. Make sure that all the components are correctly linked. All DataProviders should have their Link property set to the DataServerLink, including the DataProvider responsible for the /time request. Also make sure that there is only one TRtcIsapiServer component created.
Logged
segnew
RTC Expired
*
Posts: 2


« Reply #2 on: November 19, 2016, 01:14:13 AM »

I went back to my original implementation and it appears the problem has to do with the IIS cache.  I do not believe the latest version of the DLL is being used.  I changed the words in the text message returned by /time but the original words appear.  I turned off ISAPI caching but it did not make a difference.

Do I need to restart the server or is there something else I can do to disable caching?
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #3 on: November 19, 2016, 03:53:54 AM »

Since ISAPI DLLs are loaded into memory by the WebServer, you will either need to tell your WebServer to unload the old DLL after each update, or restart the WebServer.

Btw ... You can use the RTC WebServer (Demos folder) to test your ISAPI DLL before deploying it to IIS.

Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.023 seconds with 16 queries.