Sambar Server Documentation

ISAPI Support


Overview
The Internet Server Application Programming Interface (ISAPI) enables users to compile applications into Dynamic Link Libraries (DLLs) and directly link them into the Sambar Server. Because ISAPI DLLs are loaded into memory the first time they are called, they are more efficient than CGI scripts which spawn a new process for each client request. The primary disadvantage to using ISAPI DLLs is that a poorly written DLL can cause the server to crash.

The Sambar Server has implemented the Version 2.0 of the Microsoft Internet Server API (ISAPI) with the exception of asynchronous reading and writing. If an ISA tries to access async I/O, a message is put in the log/server.log indicating the failure of the extension.

Additional documentation on ISAPI Extensions is available.

DLLs
The ISAPI interface uses run-time dynamic linking to load in the ISAPI extensions. Using this functionality, several applications can share a single copy of any DLL library function. By loading the DLLs into the Sambar Server's process space, the time are resource demands associated with creating additional processes are eliminated, significantly improving server scalability and performance.

Sambar
Server

ISAPI
Interface
Your
ISAPI
DLL

LoadLibrary: File open of <path> failed.
When the ISAPI DLL is loaded by the server, if the server log shows an error indicating: LoadLibrary: File open of <path> failed. the problem is likely that the DLL being loaded has dependencies on other DLLs that can't ben found. A quick/easy way to verify this is to run bin/serverd in a DOS console window. You should see a window pop-up when the ISAPI tries to execute with a list of DLLs that could not be found. (This popup window is supressed in the NT and Windows GUI versions of the server to prevent the server from hanging on the dialog.)

ISAPI Filters
ISAPI filters can "intercept" HTTP requests and can be used to log, notify or take action on specific events. For example, an ISAPI filter could be used to retrieve a document for a source-control system on-the-fly in response to an HTTP request.

The Sambar Server does not support ISAPI filters; there are no immediate plans for supporting them.

© 1998 Sambar Technologies. All Rights reserved. Terms of use.