Получение ошибки, что обработчик события не зарегистрирован в Coldbox

Я получаю следующее сообщение об ошибке. Я уже создал обработчик Uploads.cfc в каталоге обработчиков. Все проверил, решения не нашел.

Тип ошибки: HandlerService.EventHandlerNotRegisteredException: [Н/Д]

Сообщения об ошибках: Событие: загрузка не является допустимым зарегистрированным событием.

Вот код Uploads.cfc:

<!--- Default Action --->
<cffunction name="index" returntype="string" output="false" hint="My main event">
    <cfargument name="event">
    <cfargument name="rc">
    <cfargument name="prc">  
    
    <cfobject component="model.Uploader" name="fileUploader">
    <cfset filesJson = fileUploader.Upload(rc.file)>
    
    <cfreturn filesJson>
</cffunction>

Не могли бы вы предложить решение?


person Community    schedule 09.06.2014    source источник


Ответы (3)


Я также столкнулся с той же проблемой в прошлом. Попробуйте перезапустить сервер приложений ColdFusion.

person Community    schedule 09.06.2014

Вам не нужно перезапускать весь сервер CF. Вам просто нужно повторно инициализировать ColdBox. Просто добавьте ?fwreint= или ?fwreint={password} к URL-адресу. Пароль устанавливается в ColdBox.cfc: "reinitpassword". Вы также можете настроить в ColdBox.cfc, чтобы не кэшировать обработчики в непроизводственных средах.

Если вы используете ColdBox 3.6 или новее, вам больше не нужно определять event, rc and prc.

<cffunction name="index" returntype="string" output="false" hint="My main event">
    <cfobject component="model.Uploader" name="fileUploader">
    <cfset filesJson = fileUploader.Upload(rc.file)>
    <cfreturn filesJson>
</cffunction>

Во-вторых, вам следует использовать WireBox вместо того, чтобы создавать объекты на лету, как вы это делаете. И, наконец, не определяйте переменные, специфичные для функции, в области variables CFC-файла обработчика. Добавьте к ним префикс local, чтобы убедиться, что эти переменные являются «локальными для функций»: они доступны только для конкретной функции, которая их использует.

<cffunction name="index" returntype="string" output="false" hint="My main event">
    <cfset local.fileUploader = getModel("Uploader") >
    <cfset local.filesJson = fileUploader.Upload(rc.file)>
    <cfreturn local.filesJson>
</cffunction>
person Adrian J. Moreno    schedule 09.06.2014
comment
Это зависит от ваших настроек в ColdBox.cfc. Если у вас установлен пароль, то это reinit={password}. Если пароля нет, то просто переинициализируйте=. - person Adrian J. Moreno; 11.06.2014

iKnowKungFu с ошибкой ?fwreint= (отсутствует i) Должно быть ?fwreinit

person Clint Willard    schedule 28.06.2014
comment
Хотел бы я опубликовать это. Хе. - person Will Belden; 11.03.2020