7

I'm trying build a pause into a Visual Studio Sequential Workflow. I can add steps, then add a delay and it works fine. But any step I insert into the workflow (either before or after the delay) causes the workflow to not resume after the pause.

At other times, the workflow will resume, but no code after the first pause reflects any changes until I reboot. I can change the log history from the first step and that is applied, but nothing afterwards.

MORE INFORMATION Restarting the computer fixes it. Obviously I can't reboot every time I make a change to my workflow. So what could this mean? I've tried retracting, cleaning, and deleting the /bin/debug folder. What else can I try?

WORKFLOW

enter image description here

CODE BEFORE

    private void codeActivity1_ExecuteCode(object sender, EventArgs e)
    {
        this.logToHistoryListActivity1.HistoryDescription = "Coded description 1";
        this.logToHistoryListActivity1.HistoryOutcome = "Coded outcome 1";
    }

    private void codeActivity2_ExecuteCode(object sender, EventArgs e)
    {
        this.logToHistoryListActivity2.HistoryDescription = "Coded description 2";
        this.logToHistoryListActivity2.HistoryOutcome = "Coded outcome 2";
    }

CODE AFTER

    private void codeActivity1_ExecuteCode(object sender, EventArgs e)
    {
        this.logToHistoryListActivity1.HistoryDescription = "CHANGE Coded description 1";
        this.logToHistoryListActivity1.HistoryOutcome = "CHANGE Coded outcome 1";
    }

    private void codeActivity2_ExecuteCode(object sender, EventArgs e)
    {
        this.logToHistoryListActivity2.HistoryDescription = "CHANGE Coded description 2";
        this.logToHistoryListActivity2.HistoryOutcome = "CHANGE Coded outcome 2";
    }

RESULTS

enter image description here

  • I'm still having to restart my computer every time I want to redeploy. Does anyone have any other ideas? – Erin L Jun 30 '16 at 18:33
  • Can you please clarify whether your issue is the workflow not resuming after a delay activity or that the changes you are making to your workflow do not become active/visible? You are addressing both things (resume after delay and restarting after making changes). – Suleyman Aug 4 '16 at 9:28
  • I'm having both issues. On one dev server, the workflow never resumes after pause. On another server, the workflow resumes, but changes past that point don't "take." – Erin L Aug 4 '16 at 14:45
  • can you show code for the pause if you have code and/or display a screen dump of the workflow from visual studios. usually delayActivity should do the trick without any issues. – Ali Jafer Aug 11 '16 at 11:02
  • @aliSharepoint Done – Erin L Aug 11 '16 at 14:42
4
+100

based on what your saying sounds like the workflow time job is not kicking in the time that your waiting for hence why it would run when you restart the computer because the workflow timer service and the w3wp service have been refreshed and kicked in to action.

You can test it by doing:

In CMD:

net stop "Windows SharePoint Services Timer"

net start "Windows SharePoint Services Timer"

IISReset

or

powershell:

Restart-Service sptimerv4

IISReset

That should reset w3wp and timer service to kick in and update the workflow instance.

Also note that the delay will not work if its set to 2 minutes and the workflow timer job is set to the default value of 5 minuets. you would need to reduce this value in central admin:

central admin -> left menu click "monitoring" -> left menu under "timer links" click "job definitions" -> go through list to find "workflow" and set to 2 minutes.

also note when a workflow is running it will run under the old instance, making changes and redeploying and doing the powershell which i have shown above should instate the new code for new activities. as an example:

the workflow is for a list, i create an item and the workflow is kicked off and running. In that time its still running i updated the workflow and redeployed.... the old instance of the workflow will still be in effect until you cancel the workflow and kick it off again to run the new version or create a new list item to run the new instance or do the code above (powershell), doing the powershell code will kill the old workflow and any progress will be lost as it resets any worker process that contains the workflows and the timerjobs.

let me know how you get on.

  • I've run the workflow timer job manually. And this doesn't explain why my changes to any code after the timer job don't take until I reboot. IISReset has no effect; I have to reboot for my changes to take effect. Please see the screenshots in my post. – Erin L Aug 12 '16 at 14:16
  • did you run the powershell code? – Ali Jafer Aug 12 '16 at 20:14
  • "The service name is invalid" – Erin L Aug 12 '16 at 20:25
  • sorry that command was for cmd. I have updated the code section for powershell. should work as expected. – Ali Jafer Aug 13 '16 at 18:22
  • 1
    its normal, unless you wait a long time for it to kick in by the scheduler – Ali Jafer Aug 16 '16 at 11:13
4

This is a bug in workflow runtime System.Workflow.Runtime.dll. And after I installed Sharepoint 2010 Service Pack 2 the issue has been solved.

To download SP2 , you should check

Note :: it's heavily recommended to apply it first on your dev server.

  • I'm on SP2 and CU up to Feb 2016 – Erin L Aug 8 '16 at 17:54
1

It wouldn't be a SharePoint Designer issue, but one with the SharePoint server itself.

Check Central Admin to see if the Workflow, Workflow Autocleanup, and Workflow Failover timer jobs are ok for your web application.

If you run a stsadm -o getproperty -pn job-workflow -url http://sp2010 do you get <Property Exist="No" />?

  • The pause works fine if it's the last activity I add, so that makes me think the jobs are working fine. I already tried running all 3 of the timer jobs manually. Also, this isn't SharePoint Designer, it's Visual Studio. I do get <Property Exist="No">. – Erin L Jun 24 '16 at 13:54
  • I ran stsadm -o setproperty -pn job-workflow -pv "Every 5 minutes between 0 and 59" -url http://sharepoint and it didn't fix it. – Erin L Jun 24 '16 at 14:02
  • so something is there with the property – Ankit Kumar Jun 24 '16 at 14:05
  • I should specify more clearly. After I ran stsadm -o setproperty... the getproperty command returns <Property Exist="Yes" Value="Every 5 minutes between 0 and 59" />. Then I ran cleanup, failover, and workflow manually. My workflow still isn't resuming. – Erin L Jun 24 '16 at 14:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.