2

applicationScopeにカスタムオブジェクトを返すサービスがあります。

<cffunction name="getObject" access="public"returntype="com.my.Object">

これは私のアプリケーションでは正常に機能しますが、onSessionEndから次のようにこの関数を呼び出すと:arguments.ApplicationScope.service.getObject()

コンポーネントまたはインターフェイスが見つからないというエラーが表示されます。

Webサイトから呼び出すときにexpandPath( "/")を使用すると、パスc:/ website / project/htdocsが取得されます。

onSessionEndから同じものを呼び出すと、c:/ coldfusion8 / wwwrootが表示されます。これにより、c:/websites/project/htdocs/com/my/Object.cfcにあるコンポーネントが見つからなくなり、エラーがスローされます。誰かがこれの解決策を知っているかもしれません私の構成ですか?

どうも。

4

1 に答える 1

0

com.my.Object パスの少なくとも一部は、Application.cfc で設定された ColdFusion マッピングによって解決されているのではないでしょうか? その場合、これらは onSessionEnd() が呼び出されるまでに存在しないようです。したがって、これを回避するには、代わりに CFAdmin でマッピングを作成する必要があります。

Application.cfc で設定されたマッピングはまだ onApplicationEnd() で使用できませんが、これは CF9 で部分的に解決されていることを確認しました。

于 2012-11-03T20:14:22.087 に答える