Hello,
Anyone has any ideas? suppose I do some state machine WF like
1--> 2 --> 3, and keep data in persistence DB
And i have to change some state machine flow, some old instance not complete yet( still in some state in flow ), like
1--> 2 -->2.5 --> 3
Do any problem with old instances? for example those instances in state 2
Rgs
Piyaret
Loading
piyaret saeleePosted Sep 24, 2009, 4:09 AM
very appreciated your answer, Im really a new comer so I need to ask more questions
well, from example i have mentioned
1--> 2-->3
some instances are in state 2, I hold all condition by WF's persistence
then i add new activities
1--> 2--2.5 -->3
my problem happened here, it is look some exception error occur, when i try to move instance to 2.5
I can't load screen capture, but error has some details as below
"An unexpected exception occurred while performing a workflow persistence operation. System.Runtime.Serialization.SerializationException: The object with ID 203 implements the IObjectReference interface for which all dependencies cannot be resolved. The likely cause is two instances of IObjectReference that have a mutual dependency on each other.\r\n at System.Runtime.Serialization.ObjectManager.GetCompletionInfo(FixupHolder fixup, ObjectHolder& holder, Object& member, Boolean bThrowIfMissing)\r\n at System.Runtime.Serialization.ObjectManager.CompleteObject(ObjectHolder holder, Boolean bObjectFullyComplete)\r\n at System.Runtime.Serialization.ObjectManager.DoFixups()\r\n at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)\r\n at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler
, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)\r\n at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)\r\n at System.Workflow.ComponentModel.Activity.Load(Stream stream, Activity outerActivity, IFormatter formatter)\r\n at System.Workflow.ComponentModel.Activity.Load(Stream stream, Activity outerActivity)\r\n at System.Workflow.Runtime.Hosting.WorkflowPersistenceService.RestoreFromDefaultSerializedForm(Byte[] activityBytes, Activity outerActivity)\r\n at WFTools.Services.Persistence.GenericPersistenceService.LoadWorkflowInstanceState(Guid instanceId) in D:\\Data\\Data\\Project\\Honda\\Aun_21_08_09\\NDCWorlflow\\WFTool\\Services\\Persistence\\GenericPersistenceService.cs:line 560"
well, I have no idea how to solve or even go to get more information so my only hope is internet communities.
Rgs
Piyaret
Roei BarPosted Sep 23, 2009, 1:15 PM
the very idea of StateMachine is that it holds state and doesnt care on State Changes arround, the next state is based on state machine commands not on the state instance.
meaning that statemachine updates doesnt make a differance in the state next state