1

Application.cfc の影響を受けるコンポーネントにリモート機能があります - onRequestStart はユーザーにログインを要求しています。.cfc を別のサブフォルダーに移動したくありません。.cfm の編集中に cfc を探す必要がないように、できるだけ .cfm の近くに保管したいと考えています。

onRequestStart の代わりに onRequest と onCFCRequest を使用するのが解決策だと思いますが、onCFCRequest で実験すると、戻り値はブール値でなければならないようです。そのため、リモート関数は以前のクエリではなくブール値を返します。

Rays の例では結果を出力していますが、結果を返す場合はどうでしょうか。

これが私が試したものですが、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;
}
4

1 に答える 1

2

あなたの問題はこの主張です:

onCFCRequest を試してみると、戻り値はブール値でなければならないようです

それは真実ではない。

「任意」にすることができます (またそうする必要があります)。その場合、呼び出されたメソッドが返すデータ型は何でも返します (HTTP 応答で送信できるようにシリアライズされます)。

于 2013-08-05T07:17:19.677 に答える