Хранение параметров ISAPI Extension

Я создал расширение ISAPI в Delphi, которое прекрасно работает, но мне интересно, есть ли лучший способ хранения настроек конфигурации? Я могу придумать несколько способов сделать это, но я, конечно, хотел бы сделать это наилучшим образом. Я мог бы искать во всех неправильных местах, но я не могу найти ничего, что поможет мне...

Является ли INI или XML-файл в той же директории, что и DLL-файл? Или использовать реестр Windows? Или возможно (и целесообразно) поместить конфигурацию, специфичную для расширения ISAPI, в web.config и тем самым использовать IIS Manager для настройки? Или что-то другое?

2 ответа

Решение

Я вообще пользуюсь GetModuleFileName(HInstance); выяснить, где хранится DLL, и сохранить там файл (ini или xml). Рекомендуется хранить его и библиотеку DLL вне досягаемости IIS, чтобы они не были доступны по URL-адресу.

  1. Вы можете использовать INI-файл (убедитесь, что он находится вне папки \InetPub\. Убедитесь, что вы кэшируете INI-файл, используя TMemIniFile.

  2. Вы можете использовать файл XML. Убедитесь, что вы прочитали файл XML для кэширования и после этого освободите обработчик файла, чтобы предотвратить блокировку файлов во время одновременного чтения.

Чтобы проверить изменения во время загрузки ISAPI, проверьте метку даты / времени файла XML, прежде чем перечитывать его снова.

  1. Другим предложением является использование базы данных в памяти и загрузка / сохранение файла данных на диск и с диска.
Другие вопросы по тегам