2011-01-23 22 views
1

我的Application.cfc使用OnRequestStart檢查用戶在ColdFusion的網關,用的Application.cfc問題OnRequestStart

<cfif not isDefined("session.auth.isLoggedIn")> 
    <cfinclude template="loginForm.cfm"> 
    <cfabort> 
</cfif> 

記錄,這是我的壓延嘗試使用一個網關服務,錯誤出與

Error invoking CFC for gateway watchInboundFiles: null {GATEWAYTYPE={FileWatcher},ORIGINATORID={},CFCMETHOD={onDelete},DATA={{FILENAME={C:\temp\New Text Document.txt},TYPE={DELETE}}},CFCPATH={F:\ColdFusion9\wwwroot\watch_dir.cfc},GATEWAYID={watchInboundFiles}}. 

如果我註釋掉OnRequestSTart方法,網關將按預期工作。

別人遇到了這個here之前的解決方案顯然是要

添加一個新的Application.cfc其 延長我的原創,但推翻了 onRequestStart() - 它完美工作 。

那麼我該怎麼做?

回答

2

要回答你的問題:

您的新Application.cfc將生活在另一個目錄但延長您的原文:

<cfcomponent extends="path.to.my.original.Application"> 

    <cffunction name="onRequestStart"> 
    <!--- No login code here ---> 
    </cffunction> 

</cfcomponent> 

其他所有功能都可以照常進行。

好幫助!更多信息here

+0

是的,那是我一直在尋找的信息謝謝。最後使用了「代理方法Sean Corfield在這裏描述http://corfield.org/entry/Extending_Your_Root_Applicationcfc – Saul

2

您也可以在application.cfc中添加一些內容以查看來自網關的呼叫。如果是,則跳過if塊。

+0

我該怎麼做? – Saul

+0

我花了很多時間試圖做一個網關調用與網絡服務器發起的調用的鐵決定,並且無法達到我的滿意度,所以我最終自己做了額外的application.cfc事情。但是,如果你想嘗試,我發現的唯一標記就是各種遺漏的CGI變量。 –