我收到以下错误消息。我已在handlers目录中创建了Uploads.cfc处理程序。检查了一切,无法找到解决方案。
错误类型:HandlerService.EventHandlerNotRegisteredException:[N / A]
错误消息:事件:上传不是有效的注册事件。
这是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>
你能建议一个解决方案吗?
答案 0 :(得分:3)
您不必重新启动整个CF服务器。您只需要重新初始化ColdBox。只需将?fwreint=
或?fwreint={password}
添加到网址即可。密码在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而不是在你做的时候动态创建对象。最后,不要将特定于函数的变量定义到处理程序CFC文件的variables
范围内。使用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>
答案 1 :(得分:2)
我过去也遇到过同样的问题。尝试重新启动ColdFusion Application Server。
答案 2 :(得分:0)
iKnowKungFu拼写错误?fwreint =(失踪我) 应该是?fwreinit