codekingpro/portable-devtools
114k
1In this directory you will find examples of ISAPI filters and extensions.2 3The filter loading mechanism works like this:4* IIS loads the special Python "loader" DLL. This DLL will generally have a 5 leading underscore as part of its name.6* This loader DLL looks for a Python module, by removing the first letter of7 the DLL base name.8 9This means that an ISAPI extension module consists of 2 key files - the loader10DLL (eg, "_MyIISModule.dll", and a Python module (which for this example11would be "MyIISModule.py")12 13When you install an ISAPI extension, the installation code checks to see if14there is a loader DLL for your implementation file - if one does not exist, 15or the standard loader is different, it is copied and renamed accordingly.16 17We use this mechanism to provide the maximum separation between different18Python extensions installed on the same server - otherwise filter order and19other tricky IIS semantics would need to be replicated. Also, each filter20gets its own thread-pool, etc.21 