Ejemplo n.º 1
0
 // don't use "this" to make it a real extension method, don't box enums
 public static bool ShouldSave(IdlePersistenceMode idlePersistenceMode, WorkflowInstanceState workflowInstanceState, bool isStarting)
 {
     if (workflowInstanceState == WorkflowInstanceState.Idle)
         if (isStarting)
             return idlePersistenceMode.HasFlag(IdlePersistenceMode.OnStart);
         else
             return idlePersistenceMode.HasFlag(IdlePersistenceMode.OnPersistableIdle);
     if (workflowInstanceState == WorkflowInstanceState.Complete)
         return idlePersistenceMode.HasFlag(IdlePersistenceMode.OnCompleted);
     return false;
 }
Ejemplo n.º 2
0
 // don't use "this" to make it a real extension method, don't box enums
 public static bool ShouldSave(IdlePersistenceMode idlePersistenceMode, WorkflowInstanceState workflowInstanceState, bool isStarting)
 {
     if (workflowInstanceState == WorkflowInstanceState.Idle)
     {
         if (isStarting)
         {
             return(idlePersistenceMode.HasFlag(IdlePersistenceMode.OnStarting));
         }
         else
         {
             return(idlePersistenceMode.HasFlag(IdlePersistenceMode.OnPersistableIdle));
         }
     }
     if (workflowInstanceState == WorkflowInstanceState.Complete)
     {
         return(idlePersistenceMode.HasFlag(IdlePersistenceMode.OnCompleted));
     }
     return(false);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// See <see cref="Orleans.Activities.Configuration.IParameters"/> for parameter descriptions.
        /// </summary>
        public Parameters(
            // Yes, these are intentionally nullable, this way the default values are centralised and not scattered (and fixed) through the code during compile time.
            TimeSpan? defaultTimeoutDelay = null,

            TimeSpan? defaultRetryDelayStartValue = null,
            Single? defaultRetryDelayDelayMultiplicator = null,
            TimeSpan? defaultRetryDelayMaxValue = null,

            TimeSpan? resumeOperationTimeout = null,
            TimeSpan? resumeInfrastructureTimeout = null,
            TimeSpan? trackingTimeout = null,
            TimeSpan? reactivationReminderPeriod = null,

            IdlePersistenceMode? idlePersistenceMode = null,
            bool? persistWriteOnlyValues = null,
            TimeSpan? extensionsPersistenceTimeout = null,

            UnhandledExceptionAction? unhandledExceptionAction = null)
        {
            DefaultTimeoutDelay = defaultTimeoutDelay ?? TimeSpan.FromMinutes(5);

            DefaultRetryDelayStartValue = defaultRetryDelayStartValue ?? TimeSpan.FromMinutes(1);
            DefaultRetryDelayDelayMultiplicator = defaultRetryDelayDelayMultiplicator ?? 2.0f;
            DefaultRetryDelayMaxValue = defaultRetryDelayMaxValue ?? TimeSpan.FromMinutes(60);

            ResumeOperationTimeout = resumeOperationTimeout ?? TimeSpan.FromSeconds(30);
            ResumeInfrastructureTimeout = resumeInfrastructureTimeout ?? TimeSpan.FromSeconds(30);
            TrackingTimeout = trackingTimeout ?? TimeSpan.FromSeconds(30);
            ReactivationReminderPeriod = reactivationReminderPeriod ?? TimeSpan.FromMinutes(2);

            IdlePersistenceMode = idlePersistenceMode ?? IdlePersistenceMode.OnPersistableIdle | IdlePersistenceMode.OnCompleted;
            PersistWriteOnlyValues = persistWriteOnlyValues ?? false;
            ExtensionsPersistenceTimeout = extensionsPersistenceTimeout ?? TimeSpan.FromSeconds(30);

            UnhandledExceptionAction = unhandledExceptionAction ?? UnhandledExceptionAction.Abort;
        }