Я получил достаточно голосов за свой комментарий, я решил, что я сделаю это ответом на то, как отлаживать onSessionEnd
методы.
Прежде всего, вы должны помнить, что если вы вызываете onSessionEnd напрямую, он вызывается во время обычного контекста запроса. Это означает, что у него есть доступ к переменным, к которым у него обычно нет доступа, если он вызывается во время обычного завершения сеанса. Это означает, что тестирование «вручную путем вызова onSessionEnd» не является допустимым способом тестирования метода.
С этой целью единственный способ надежной отладки метода onSessionEnd
- это разумное использование тега cflog
. Вам нужно добавить записи cflog, чтобы помечать при запуске метода, вам нужно иметь возможность перехватывать ошибки, регистрировать ошибки или выгружать области cfcatch
в файл для просмотра. Вам также необходимо убедиться, что все, на что вы ссылаетесь в методе, передается через аргументы SessionScope
и ApplicationScope
, и что вы не ссылаетесь ни на какие области, кроме Arguments
и Server
. См. liveocs для справки.
Надеюсь, это поможет вам найти источник вашей проблемы.