Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ниже приведены наиболее распространенные проблемы, возникающие при разработке и использовании COM+CRM:
Сообщения журнала событий. Если приложение сервера CRM сталкивается с серьезной внутренней ошибкой, оно прекратит работу (прекратить процесс приложения сервера CRM) и выведет сообщение в журнал событий Windows. Если возникли проблемы, обратитесь к журналу событий.
Исключения из компенсатора CRM. Инфраструктура CRM создает компенсатор CRM и передает ему уведомления о результатах транзакций и журнальные записи, сделанные CRM-Worker. Если компенсатор CRM возвращает ошибку или вызывает исключение, он перехватывается инфраструктурой CRM и вызывает сбой. Сообщение в журнале событий указывает, что исключение получено от компенсатора CRM. Можно принудительно игнорировать эти исключения. (См. параметры реестра COM+ CRM.) Исключения из компенсатора CRM, скорее всего, означают проблему в конкретном компоненте компенсатора CRM, а не в самой инфраструктуре CRM.
Трассировка восстановления. Трассировка восстановления может быть очень полезной для определения проблем во время восстановления. Сведения о включении трассировки восстановления см. в параметрах реестра COM+ CRM.
Попытка запустить без включенного CRM. Недостаточно просто разместить компоненты CRM Рабочий и CRM Компенсатор в приложение сервера COM+. Поддержка ЦРМ должна быть включена специально для конкретного серверного приложения COM+ с помощью параметра Включить компенсирующие диспетчеры ресурсов на вкладке Advanced страниц свойств приложения 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 Worker.
Связанные разделы