onCFCRequest似乎正在吃掉我的回报值

时间:2013-08-05 02:47:41

标签: coldfusion

我在一个受Application.cfc影响的组件中有一个远程函数 - onRequestStart要求用户登录。我不想将.cfc移动到另一个子文件夹中 - 我希望尽可能接近.cfm,以便在编辑.cfm时不必去寻找cfc。

我认为解决方案是使用onRequest和onCFCRequest而不是onRequestStart,但在试验onCFCRequest时,看起来返回值必须是boolean。所以现在我的远程函数返回一个布尔值而不是它以前的查询。

Rays' example显示输出结果,但返回结果呢?

这是我尝试过的,但ColdFusion拒绝返回值不是布尔值:

public boolean function onCFCRequest(string cfc, string method, struct args) {
    local.comp = createObject("component", arguments.cfc);
    local.result = evaluate("local.comp.#arguments.method#(argumentCollection=arguments.args)");
    return local.result;
}

1 个答案:

答案 0 :(得分:2)

你的问题就是这个断言:

  

在试验onCFCRequest时,它看起来像返回值   是布尔

那不是真的。

它可以(并且应该)是“any”,在这种情况下它将返回被调用方法返回的任何数据类型(序列化,因此它可以在HTTP响应中传输,natch)。