Apllication.cfc does not start any default by default? Cold fusion

Can someone tell me what the problem is? I tried to run some .cfm files, but it does not cause any cffunction effect other than cfcomponent? Am I missing something? Can someone explain to me?

<cfcomponent>
  <cfset THIS.Name = "formdemo">
  <cfset THIS.SessionManagement = true>
  <cfset This.Sessiontimeout="#createtimespan(0,0,20,0)#">
  <cfset This.applicationtimeout="#createtimespan(5,0,0,0)#">
  --Entered cfcomponent--
  <cffunction name="onApplicationStart" returnType="boolean" output="false">
    --Entered Application Start--
    <cfset application.portfolioUploadRoot = "ram:///portfoliouploads">
    <cfif not directoryExists(application.portfolioUploadRoot)>
      <cfdirectory action="create" directory="#application.portfolioUploadRoot#">
    </cfif>
    <cfreturn true>
  </cffunction>
  <cffunction name="onSessionStart" returnType="void" output="false">
    --Entered Session Start--
    <cfset session.myuploadroot = application.portfolioUploadRoot & "/" & replace(createUUID(), "-", "_", "all")>
    <cfif not directoryExists(session.myuploadroot)>
      <cfdirectory action="create" directory="#session.myuploadroot#">
    </cfif>
  </cffunction>
  <cffunction name="onApplicationEnd" returnType="void" output="false">
    --Entered Application End--
    <cfargument name="applicationScope" required="true">
    <cfif directoryExists(arguments.applicationScope.portfolioUploadRoot)>
      <cfdirectory action="delete" recurse="true" directory="#arguments.applicationScope.portfolioUploadRoot#">
    </cfif>
  </cffunction>
  <cffunction name="onSessionEnd" returnType="void" output="false">
    --Entered Session End--
    <cfargument name="sessionScope" type="struct" required="true">
    <cfargument name="appScope" type="struct" required="false">
    <cfif directoryExists(arguments.sessionScope.myuploadroot)>
      <cfdirectory action="delete" recurse="true" directory="#arguments.sessionScope.myuploadroot#">
    </cfif>
  </cffunction>
</cfcomponent>

As a result, cfmpage.cfm will only display "-Entered cfcomponent--".

cfmpage.cfm:

<cfparam name="form.textname" default="">
<cfparam name="form.textemail" default="">
<cfparam name="form.docattach" default="">
<cfif structKeyExists(form, "Submit")>
<cfset form.textname = trim(htmlEditFormat(form.textname))>
<cfset form.textemail = trim(htmlEditFormat(form.textemail))>
<cflocation url="formcomplete.cfm" addToken="false">
</cfif>
<!DOCTYPE html>
<html>
  <head>
    ...
  </head>
  <body>
    <form method="post" enctype="multipart/form-data">
      <cfoutput>
        <input id="textname" name="textname" type="text" class="input-large" required="" value="#form.textname#">
        <input id="textemail" name="textemail" type="text" class="input-large" required="" value="#form.textemail#">
      </cfoutput>
    </form>
  </body>
</html>
+4
source share
1 answer

He does what he must.

onApplicationStart -- Runs when ColdFusion receives the first request for a page in the application.
    For this, to easily see this, you can try changing the name of the application, then
    visit a page within.

onSessionStart -- Only run upon the first visit within the session. If you wait til after the
    timeout and then come back, you'll see this. Changing the application name will should also
    retrigger this.

onSessionEnd -- Run when the session ends. It will trigger after the timeout, it used so that
    you can clean up activity. For instance, if you're using something like Application.NumberOnline.
    OnSessionEnd can substract one (where onSessionStart) can add one.

onApplicationEnd -- Runs when the application timeout occurs or the server is shutting down.

- , . , . , . cflog, , :

<cffunction name="onApplicationEnd">
    <cfargument name="ApplicationScope" required=true/>
    <cflog file="#This.Name#" type="Information" 
        text="Application #Arguments.ApplicationScope.applicationname# Ended" >
</cffunction>

:

<cfscript>
   ap      =   createObject("component","Application");
   ap.onSessionEnd(session,application);
</cfscript>

, .

, , - , onRequestStart onRequestEnd onRequest - . OnRequest - , , , , onRequestStart/onRequestEnd .

:

  • onApplicationStart ( )
  • onSessionStart ( )
  • onRequestStart
  • onRequest
  • onRequestEnd

, , . , .

<cfscript>
  function foo() {
    writeoutput("bar");
  }
</cfscript>

, - <cfoutput>#foo()#</cfoutput>.

" " /, CF , .

+3

Source: https://habr.com/ru/post/1568097/


All Articles