Was ist der beste Weg, um neu zu laden, eine Fusebox-app ohne "analysierten Datei oder Verzeichnis nicht gefunden" Fehler?

Ich habe eine Website mit CF8 und Fusebox 5. Jederzeit muss ich eine neue Funktion hinzufügen, um die Website, ich haben in der Regel hinzufügen, um eine neue Sicherung zu Schaltung.xml.cfm für die controller -, model -, oder anzeigen, oder alle. Um diese neuen Funktionen/Seiten, ich gehe auf folgende url:

?fusebox.load=true&fusebox.parse=true&fusebox.password=password&fusebox.loadclean=true

Der Letzte parameter ist eine die ich vor kurzem aufgegriffen und bestimmt, dass Sie es ermöglichen würde, meine neue sicherungen; ohne Sie die neuen sicherungen nicht erkannt. Jedoch, wenn ich dies tun, alle meine parse-Dateien, die generiert wurden, bevor Sie entfernt werden. Das ist nicht viel von einem problem, da Sie regeneriert die Fliegen, wenn Sie gebraucht werden für die erste Zeit, aber ich habe einige Seiten, die Fehler zurück, wenn auf Sie zugegriffen wird. Der Fehler sagt, Verzeichnis nicht gefunden, aber Sie sind da, jedes mal, wenn das kommt, es ist, weil die parse-Datei nicht vorhanden ist.

Hier ist ein Beispiel für eine Fehlermeldung mit stack-trace:

Error - Parsed File or Directory not found.

Date/Time: Apr 25 2009 12:26:02

Type: fusebox.missingParsedFile

Message: Parsed File or Directory not found.

Detail:

Attempting to execute the parsed file 'login.logout.cfm' threw an error. This can occur if the parsed file does not exist in the parsed directory or if the parsed directory itself is missing.
Stack Trace:
    coldfusion.runtime.CustomException: Parsed File or Directory not found.
    at coldfusion.tagext.lang.ThrowTag.doStartTag(ThrowTag.java:124)
    at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:2644)
    at cffusebox52ecfm1214986498.runPage(C:\example.com\fb5core\fusebox5.cfm:216)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:192)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:366)
    at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:2644)
    at cfindex2ecfm584653367.runPage(C:\example.com\index.cfm:3)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:192)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:366)
    at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:2644)
    at cfApplication2ecfc1103573364$funcONREQUEST.runFunction(C:\example.com\Application.cfc:36)
    at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
    at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360)
    at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324)
    at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:56)
    at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
    at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:192)
    at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:448)
    at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:308)
    at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:74)
    at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:243)
    at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:269)
    at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
    at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.CfmServlet.service(CfmServlet.java:175)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at jrun.servlet.FilterChain.service(FilterChain.java:101)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:284)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
    at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

Was ich tun, um dieses problem zu beheben, gehen Sie auf die folgende url, welche wie die vorigen, aber ohne Sicherungskasten.loadclean=true:

?fusebox.password=password&fusebox.load=true&fusebox.parse=true

Was ich versucht habe zu tun war, nachdem ich auf die erste url, die ich gehen würde, um dieses zweite, aber der Fehler immer noch auftaucht.

Was ich Suche, ist der richtige Weg, um neu zu laden der schaltungen, ohne dass diese Fehler. Ich bin das Dritte Entwickler zu engagieren, die auf dieser Website, so dass die beiden vorherigen hatten verschiedene Stile zu konfigurieren, dass jede Instanz der Schaltung.xml.cfm. Diese Dateien werden verwendet, um zu bestimmen, den Ablauf der Anwendung, was gehört werden benötigt, zusätzliche Sicherheits-Ebenen und die Angabe von bestimmten Parametern. Hier ist die Fusebox-Methode:

<!-- controller/circuit.xml.cfm -->
<circuit access="public">
    <fuseaction name="index">
        <set name="request.title" value="Account overview" />
        <do action="layout.header" />
        <do action="mdashboard.index" />
        <do action="vdashboard.index" />
        <do action="layout.footer" />
    </fuseaction>

    <fuseaction name="profile">
        <set name="request.title" value="Your Profile" />
        <do action="layout.header" />

        <!-- form submitted to the same page -->
        <if condition="isDefined('attributes.submit')">
            <true>
                <do action="mdashboard.updateprofile" />
                <do action="vdashboard.profile" />
            </true>
            <false>
                <do action="mdashboard.profile" />
                <do action="vdashboard.profile" />
            </false>
        </if>

        <do action="layout.footer" />
    </fuseaction>
</circuit>

<!-- model/circuit.xml.cfm -->
<circuit access="internal">
    <fuseaction name="index">
        <include template="sqlIndex" />
    </fuseaction>

    <fuseaction name="profile">
        <include template="sqlProfile" />
    </fuseaction>

    <fuseaction name="updateprofile">
        <include template="actUpdateProfile" />
    </fuseaction>
</circuit>

<!-- view/circuit.xml.cfm -->
<circuit access="internal">
    <fuseaction name="index">
        <include template="dspIndex" />
    </fuseaction>

    <fuseaction name="profile">
        <include template="dspProfile" />
    </fuseaction>
</circuit>

Hier ist die Mischung der Fusebox-und ColdFusion-Methode:

<!-- controller/circuit.xml.cfm -->
<circuit access="public">
    <fuseaction name="index">
        <set name="request.title" value="Account overview" />
        <do action="layout.header" />
        <include template="ctrlIndex" />
        <do action="layout.footer" />
    </fuseaction>

    <fuseaction name="profile">
        <set name="request.title" value="Your Profile" />
        <do action="layout.header" />
        <include template="ctrlProfile" />
        <do action="layout.footer" />
    </fuseaction>
</circuit>

<!-- model/circuit.xml.cfm -->
<circuit access="internal">
</circuit>

<!-- view/circuit.xml.cfm -->
<circuit access="internal">
</circuit>

<!-- controller/ctrlProfile.cfm -->
<cfif isDefined("attributes.submit")>
    <cfinclude template="../model/actUpdateProfile.cfm">
</cfif>

<cfinclude template="../model/sqlPaymentOptions.cfm">
<cfinclude template="../view/dspPaymentOptions.cfm">

Beide Methoden werden auf der gesamten Website, und ich bin nicht gegen die Verwendung entweder eines, aber mein Ziel ist die Verringerung der Fehler, der kommen könnte, wenn der Benutzer versucht, Zugriff auf eine bestimmte Seite. Ich dachte, dass vielleicht das problem ist die gemischte Methode der Konfigurationen, die sollte ich stick mit, sagen wir, die Fusebox-Methode nur, aber ich habe nicht in der Lage zu finden, ein allgemeiner trend in diese Fehler. Der Fehler-handler, die wir haben in Ort, E-Mails, die mich jedes mal, wenn eine Seite erhält einen Fehler, also dachte ich, dass ich konnte rufen automatisch mein 2. url und leiten Sie Sie zurück zu der Seite, die den Fehler generiert, wenn dieser spezifische Fehler Auftritt, aber dies hat das Potenzial für eine unendliche Schleife, und ist es nicht das eigentliche problem.

Werde ich über dieses falsch? Gibt es Attribute kann ich in der url, die zu zwingen, den Ort zu erkennen, neue sicherungen ohne meine clearing-parse-Dateien? MUKOVISZIDOSE selbst ist nicht schwierig zu Programmieren, aber ich bin noch relativ neu für ihn, und so konnte ich gehen über diese nach hinten. Danke!

InformationsquelleAutor Mathachew | 2009-04-25
Schreibe einen Kommentar