Не удается обновить CFC CF9 при использовании application.cfm

Мне было поручено внести некоторые изменения в старое приложение, и я создал новую страницу, которой передавали параметр URL page_name, который вы догадались, это название страницы с .cfm прилагается. Итак, в спешке я продолжал использовать его, и собирал свой ХФУ и использовал page_name в качестве идентификатора для записи. Затем я понял, что существует вероятность дублирования этого имени в таблице, и изменил этот параметр url, чтобы использовать page_id, который является уникальным. Я изменил свой CFC, чтобы использовать новый ключ, и ничего не получалось. Поэтому я начал просматривать свой код и решил, что я сделал опечатку, начал комментировать вещи и, наконец, выкинул свой объект CFC и вуаля, ни одно из сделанных мной правок фактически не использовалось. Это было довольно очевидно, так как page_name была строка, и page_id был числовым

Итак, я начал гуглить, первое, что я увидел, как настроить вещи в CFAdmin. У меня нет доступа к нему, и перезапуск сервера не вариант, так как я использую RDS для живого кода. Следующее, что я попробовал, было добавить applicationStop(), onApplicationStart()к моему Application.cfc, Проблема в том, что Application.cfc на самом деле является Application.cfm. Так что после возиться с <cfapplication ... > тег, и ничего не обновляется, я здесь прошу помощи.

Так есть ли быстрое решение для этого? Должен ли я пойти дальше и создать application.cfc? Я надеюсь, что я объяснил себе, и извините за весь текст.

2 ответа

Решение

Убедитесь, что ваш cfc связан с областью сеанса или приложения.

Если это так, то вы можете переименовать приложение в application.cfm, и оно сбросит объект.

Если ваш cfc НЕ привязан к сеансу или области приложения, у вас есть проблема с кэшированием. Вам нужно зайти в администратор CF -> Настройки сервера -> вкладка Кэш и снять отметку component cache и, возможно, некоторые другие.

Для дальнейших рекомендаций компоненты ColdFusion наследуют функции других

Звучит так, будто тебя загнали в угол. Последний вариант Если у вас есть доступ к самому серверу, и вы можете попасть на диск C:\ или на любой другой диск, на котором установлен ColdFusion, вы можете просто вручную удалить созданные файлы классов Java, которые используются на сервере со старым кодом. Когда ColdFusion обнаружит, что файла Class нет, он перекомпилирует только что измененный файл, и, чёрт побери, ваши изменения будут в работе.

Для получения дополнительной информации здесь есть сообщение, которое вы можете прочитать по адресу: http://kalyan-coldfusion.blogspot.com/2010/08/how-coldfusion-works-and-its-key.html

ура

Другие вопросы по тегам