Проблема с COM+DLL в IIS 6.0
В IIS 6 есть библиотека COM +, поддерживающая классическое приложение ASP. Мы успешно отладили до такой степени, что мы знаем, что DLL вызывает зависания в рабочем процессе (вызов объекта никогда не возвращается). Какие варианты конфигурации существуют для исправления этой проблемы?
2 ответа
Решение, которое мы нашли, заключалось в том, чтобы ограничить время, в течение которого COM+ будет позволять запускать вызов, а затем завершать его.
Мы нашли это событие в журнале событий, который выдал его:
Средняя продолжительность звонка превысила 10 минут. Если это не ожидаемое поведение, см. Статью 910904 в базе знаний Майкрософт по адресу http://support.microsoft.com/ для получения подробных сведений о том, как использовать функцию автоматического извлечения COM+ для автоматического создания файлов дампа и / или прекращения процесса, если проблема возникает снова. Идентификатор серверного приложения: {20D49551-DF30-4A60-B553-CAD7B97F2153} Идентификатор экземпляра серверного приложения: {45DB1F97-8995-481C-94EE-CA891E446202} Имя серверного приложения: <-REDACTED->
Что приводит нас к этому кб.
Затем мы изменили настройки в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump в соответствии с kb. Проблема все еще возникает, но теперь она не вешает весь сервер, только один пользователь зависает.
Вы пробовали работать в режиме совместимости IIS5?
- Щелкните правой кнопкой мыши свойства на узле "Веб-сайты" в пользовательском интерфейсе IIS Manager.
- Выберите вкладку "Сервис" на странице свойств
- Будет установлен флажок, управляющий тем, запускает ли IIS6 "служба WWW в режиме изоляции IIS5" или нет. Проверьте, чтобы IIS6 работал в режиме изоляции рабочих процессов IIS5.