Время жизни TISAPIApplication в IIS 7.5, работающем на Windows Server 2008 RS2: - PullRequest
1 голос
/ 12 сентября 2011

Я пытаюсь выяснить, как управлять временем жизни TISAPIApplication (написано в Delphi XE) в IIS 7.5 - при обнаружении неожиданного поведения:

Пул приложений ISAPI и ВСЕ УРОВНИ конфигурации IIS / ISAPI настроены для работы с анонимным доступом под определенной системной учетной записью, от самого WebServer к VD, appPool и определенной dll - это НИКОГДА не меняется. Но каждый раз, когда другой пользователь делает запрос или тот же пользователь открывает новый сеанс браузера, веб-приложение повторно инициализируется.

Я ожидал, что webApp будет инициализирован только при первом обращении, или когда IIS будет сброшен или пул приложений будет перезапущен. Это поведение, которое я ожидал и которое мне НУЖНО - webApp должен быть SINGLETON , который порождает поток для каждого нового запроса, независимо от пользовательских или пользовательских сессий.

Клиенты используют IIS 8 или FireFox 6 (я считаю, что это не имеет значения - различия между ними, которые я наблюдал, связаны со схемами кэширования в браузере и т. Д., А не с приложением ISAPI).

Клиенты работают под управлением Win XP SP3 или Win 7 64 - ОС, похоже, не влияет на поведение.

Мониторинг / Обратная связь:

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

Я работал с различными «расширенными настройками» на уровне пула приложений IIS 7.5 - пока не повезло.

Может ли кто-нибудь объяснить поведение, которое я вижу, и как изменить его так, чтобы экземпляр TISAPIApplication вел себя как синглтон?

1 Ответ

1 голос
/ 12 сентября 2011

Может ли быть так, что IIS запускает несколько экземпляров w3wp.exe для загрузки dll ISAPI, и вы получаете сообщение об инициализации веб-приложения от каждого при запуске? Существует настройка пула приложений, ограничивающая количество w3wp.exe, работающих рядом друг с другом. В некоторых случаях наилучшим значением для этого параметра является 1.

...