/// <summary>
        /// Executes the task with the given context.
        /// </summary>
        /// <param name="executionContext">The execution context.</param>
        public void Execute(PerRequestExecutionContext executionContext)
        {
            Invariant.IsNotNull(executionContext, "executionContext");

            ExecuteCore(executionContext);
        }
 /// <summary>
 /// Executes the task.
 /// </summary>
 /// <param name="executionContext">The execution context.</param>
 protected abstract void ExecuteCore(PerRequestExecutionContext executionContext);
 protected override void ExecuteCore(PerRequestExecutionContext executionContext)
 {
     IsExecuted = true;
 }