Устранение неполадок с COM+ CRM
Ниже приведены наиболее распространенные проблемы, возникающие при разработке и использовании COM+CRM:
Сообщения журнала событий. Если приложение сервера CRM сталкивается с серьезной внутренней ошибкой, оно завершится сбоем (завершение процесса приложения сервера CRM) и запись сообщения в журнал событий Windows. Если возникли проблемы, обратитесь к журналу событий.
Исключения из компенсатора CRM. Инфраструктура CRM создает компенсатор CRM и передает ему уведомления о результатах транзакций и записи журнала, написанные рабочей ролью CRM. Если компенсатор CRM возвращает ошибку или вызывает исключение, он перехватывается инфраструктурой CRM и вызывает сбой. Сообщение в журнале событий указывает, что исключение получено от компенсатора CRM. Можно принудительно игнорировать эти исключения. (См. раздел Реестр COM+ CRM Параметры.) Исключения из компенсатора CRM, скорее всего, означают проблему в конкретном компоненте компенсатора CRM, а не в самой инфраструктуре CRM.
Трассировка восстановления. Трассировка восстановления может быть очень полезной для определения проблем во время восстановления. Сведения о включении трассировки восстановления см. в Параметры реестра COM+ CRM.
Попытка запустить с помощью CRM не включена. Недостаточно просто разместить компоненты рабочей роли CRM и CRM Компенсатора в серверное приложение COM+. Поддержка CRM должна быть включена специально для конкретного серверного приложения COM+ с помощью параметра "Включить компенсирующие диспетчеры ресурсов" на вкладке "Дополнительно " страниц свойств приложения COM+. (См. раздел Настройка компонентов COM+ CRM для получения дополнительных сведений .) Если предпринята попытка использовать CRM в серверном приложении, включающее CRM, код ошибки возвращается в рабочую роль CRM.
Попытка запустить CRM в клиентских процессах. CRM не выполняются в клиентских процессах; они должны выполняться в процессе приложения COM+ сервера. Компоненты CRM можно поместить в пакет библиотеки для использования несколькими серверными приложениями COM+, но они недоступны для использования в клиентских процессах. Попытка использовать интерфейсы CRM внутри клиентского процесса возвращает код ошибки рабочей роли CRM.
Выполняется восстановление. Восстановление начинается при запуске приложения сервера CRM. Однако восстановление происходит в фоновом режиме во время обычной обработки приложения сервера CRM. Перед завершением восстановления можно создать рабочую роль CRM. CRM нельзя использовать в процессе приложения сервера CRM до тех пор, пока восстановление не будет успешно завершено. В этом случае работник CRM получает код ошибки "восстановление во время выполнения", так как пытается зарегистрировать компенсатор CRM. Рабочая роль CRM должна опрашивание или в противном случае задерживаться до завершения восстановления. Время восстановления зависит от конкретного типа CRM, и это следует учитывать при разработке CRM. Длительные восстановления не желательны.
Безопасность в файле журнала CRM. Если доступ к файлу журнала CRM запрещен, ознакомьтесь с рекомендациями по безопасности COM+ CRM, чтобы узнать, как безопасность настроена в файле журнала CRM.
Неуверенные транзакции. В редких случаях транзакция DTC может перейти в неуверенное состояние; То есть DTC не может определить результат транзакции. В таких случаях во время восстановления CRM сохраняет записи журнала для этой транзакции в файле журнала CRM. Когда неуверенная транзакция была решена DTC, выполнение другого восстановления CRM завершает транзакцию.
Создание и выпуск компенсатора CRM. При первом регистрации компенсатора CRM Рабочая роль CRM создается инфраструктурой CRM и запрашивается, чтобы определить, какие из интерфейсов компенсатора CRM она поддерживает. Затем он сразу же освобождается. Компенсаторы CRM должны поддерживать возможность создания и выпуска без каких-либо вызовов методов взаимодействия. Если компенсатор CRM не может быть создан правильно, возможно, из-за неправильной регистрации COM или если он не поддерживает хотя бы один из правильных интерфейсов компенсатора CRM, код ошибки возвращается в рабочую роль CRM.
См. также