private void SelfRestart(NativeActivityContext context, ActivityInstance target)
        {
            RestartActivityContext restartContext = restartActivityContext.Get(context);

            if (!restartContext.NeedsRestart)
            {
                _structuredTracer.DebugMessage("Executing activity '" + this.DisplayName + "', local machine (" + Environment.MachineName + ") has been restarted.");
                return;
            }

            _structuredTracer.DebugMessage("Executing activity '" + this.DisplayName + "', local machine (" + Environment.MachineName + ") is self-restarting");
            base.Execute(context);
        }
        private void PersistAndRestart(NativeActivityContext executionContext)
        {
            if (DisableSelfRestart)
            {
                _structuredTracer.DebugMessage("Executing activity '" + this.DisplayName + "', resume of workflow after restart was disabled.");
                return;
            }

            _structuredTracer.DebugMessage("Executing activity '" + this.DisplayName + "' scheduling persistence for workflow resumption after restart.");
            RestartActivityContext c = new RestartActivityContext();

            c.NeedsRestart = true;
            restartActivityContext.Set(executionContext, c);

            executionContext.ScheduleActivity(persistActivity, SelfRestart);
        }
Exemplo n.º 3
0
        private void PersistAndRestart(NativeActivityContext executionContext)
        {
            if (DisableSelfRestart)
            {
                _structuredTracer.DebugMessage("Executing activity '" + this.DisplayName + "', resume of workflow after restart was disabled.");
                return;
            }

            _structuredTracer.DebugMessage("Executing activity '" + this.DisplayName + "' scheduling persistence for workflow resumption after restart.");
            RestartActivityContext c = new RestartActivityContext();
            c.NeedsRestart = true;
            restartActivityContext.Set(executionContext, c);
            
            executionContext.ScheduleActivity(persistActivity, SelfRestart);
        }