views:

385

answers:

1

I have a state machine workflow hosted in SharePoint with a delay activity in one state. When the timer fires the delay activity, I get a serialization error: "Engine RunWorkflow: System.Runtime.Serialization.SerializationException: Cannot get the member 'SendEmail_MethodInvoking'".

The method this error references is not in the same state, and works fine when the workflow calls it normally.

Any ideas?

A: 

Restart the “windows SharePoint timer service”. Root cause was, whenever you have workflow that has got a delay activity, the event is fired by the service(SPTimerV3), before it fires, it has to load the assembly from its bin or from the GAC, only one file(module loads) based on the assembly information specified in workflow.xml file loads.

Deploying the new binary after changing the workflow activities, the SPTimerV3 is not aware of the newly added binary; it won’t reload it unless you do a time reset. Unless you do a reset, the persistence (serialization or de-serialization) or loading of assembly would fail due to mismatch of types.

Ashwin Bhagwat