我有一个处理用户发帖的CFC。一些处理涉及处理图像和文本,我要求另一个CFC称之为
imagehandler.cfc
还有(还没做)
texthandler.cfc
照顾好。
在我的
post.cfc
当使用Ajax提交封面图片时,我会执行以下调用:
<cfinvoke component="pathtofolder.imagehandler" method="CoverImage" argumentcollection="#VARIABLES#">
<cfinvokeargument name="Argument1" value="#SomeValue#" />
<cfinvokeargument name="Argument2" value="#SomeValue#" />
<cfinvokeargument name="Argument3" value="#SomeValue#" />
</cfinvoke>
然后,如果用户发布了任何内联图像,我必须在第二次提交表单时调用它,再次使用Ajax:
<cfinvoke component="pathtofolder.imagehandler" method="InlineImage" argumentcollection="#VARIABLES#">
<cfinvokeargument name="Argument1" value="#SomeValue#" />
<cfinvokeargument name="Argument2" value="#SomeValue#" />
<cfinvokeargument name="Argument3" value="#SomeValue#" />
</cfinvoke>
如果提交文本,我还必须打电话给:
<cfinvoke component="pathtofolder.texthandler" method="PostText" argumentcollection="#VARIABLES#">
<cfinvokeargument name="Argument1" value="#SomeValue#" />
<cfinvokeargument name="Argument2" value="#SomeValue#" />
<cfinvokeargument name="Argument3" value="#SomeValue#" />
</cfinvoke>
所有这些都发生在一个单一的帖子上,但是每天可以提交成百上千的帖子。
以这种方式继续使用cfinvoke是否安全?我本可以将CFC放在应用程序范围内,但该范围已经充满了其他经常使用的CFC的实例。我不能把它放在会话范围内,如果我把它放在请求范围内,那么在每次部分提交一篇文章(首先是封面图片,然后是内嵌图片,然后是文本等)之后,它就会死。
有更好的方法吗?