Spaces:
Running
Running
In this directory you will find examples of ISAPI filters and extensions. | |
The filter loading mechanism works like this: | |
* IIS loads the special Python "loader" DLL. This DLL will generally have a | |
leading underscore as part of its name. | |
* This loader DLL looks for a Python module, by removing the first letter of | |
the DLL base name. | |
This means that an ISAPI extension module consists of 2 key files - the loader | |
DLL (eg, "_MyIISModule.dll", and a Python module (which for this example | |
would be "MyIISModule.py") | |
When you install an ISAPI extension, the installation code checks to see if | |
there is a loader DLL for your implementation file - if one does not exist, | |
or the standard loader is different, it is copied and renamed accordingly. | |
We use this mechanism to provide the maximum separation between different | |
Python extensions installed on the same server - otherwise filter order and | |
other tricky IIS semantics would need to be replicated. Also, each filter | |
gets its own thread-pool, etc. | |