Exemple #1
0
        /// <summary>
        /// Executes the script in its own output branch in order to keep the generated content temporarily separate
        /// from the existing output stream.
        /// </summary>
        /// <param name="state">The current execution state</param>
        /// <returns>the rendered script</returns>
        public string ExecuteIsolated(ExecutionState state)
        {
            state.BranchOutput();
            string output;

            try { Execute(state); }
            finally { output = state.ReadAndRemoveBranch(); }
            return(output);
        }
Exemple #2
0
 public string RenderIsolated(ExecutionState state)
 {
     state.BranchOutput();
     Render(state);
     return state.ReadAndRemoveBranch();
 }
Exemple #3
0
 public object Evaluate(ExecutionState state, Token contextToken)
 {
     state.BranchOutput();
     try
     {
         Render(state);
     }
     catch
     {
         state.CancelBranch();
         throw;
     }
     return state.ReadAndRemoveBranch();
 }