Search This Blog

Showing posts with label WF. Show all posts
Showing posts with label WF. Show all posts

Tuesday, May 7, 2013

Beware of a rehosted Windows Workflow designer bug in .NET 4.5

After integrating the latest Windows Workflow Foundation features into our product we have found an issue with the rehosted designer:

Workflow - XmlException 'sads:DebugSymbol.Symbol' is a duplicate attribute name.' occurs when saving changes in WorkflowDesigner in .NET FW 4.5

It was actually caused by a bug in Microsoft code and was also reported in MSDN forums.
We have reported this bug to Microsoft:

https://connect.microsoft.com/VisualStudio/feedback/details/786503/


I would ask every one who is facing the same issue to please upvote (see the green arrow at left) the aforementioned MS Connect item and feel free to post workaround solutions there, if any. Thanks for your cooperation in advance!

Starting with version 12.2.9  (or after installing this hot fix), the aforementioned problem should not occur with our product, because we have introduced a static DevExpress.ExpressApp.Workflow.Win.WorkflowDesignerControlBase.CanSetTargetFramework45 property (it's false by default) that disables the problematic features in the rehosted workflow designer.

Wednesday, February 27, 2013

How to use the DevExpress Workflow Instance Store to be able to persist state information in more than a dozen of popular database systems

I have just created a new Code Central example, which  is based on the How to: Configure Persistence with WorkflowServiceHost and How to: Enable SQL Persistence for Workflows and Workflow Services help articles from MSDN.
I hope it will be helpful for non-XAF users longing to store the state of their workflow instances in databases other than Microsoft SQL Server (currently, creating a custom workflow instance store provider is not that straighforward).

The only difference is that in code you can use the DevExpress.Workflow.Store.WorkflowInstanceStoreBehavior class (it is a part of the DevExpress.Workflow.Activities library) instead of the standard SqlWorkflowInstanceStoreBehavior one.

If you want to enable persistence for self-hosted workflows that use WorkflowApplication programmatically by using the SqlWorkflowInstanceStore class, you can use the built-in DevExpress.Workflow.Store.WorkflowInstanceStore one (it is also a part of the DevExpress.Workflow.Activities library):

[C#]... using DevExpress.Workflow.Xpo; using DevExpress.ExpressApp.Xpo; using DevExpress.Workflow.Store; ... WorkflowInstanceStore dxWorkflowInstanceStore = new WorkflowInstanceStore( typeof(XpoWorkflowInstance), typeof(XpoInstanceKey), new XPObjectSpaceProvider(yourDatabaseConnectionString, null) );

 

If you configure it via the configuration file, use the DevExpressWorkflowInstanceStore element instead of the standard sqlWorkflowInstanceStore one.


Refer to the XAF Workflow persistence storage blog post for more information.

See also:
How to create a correct connection string for XPO providers?
eXpressApp Framework > Concepts > Extra Modules > Workflow Module

Tuesday, January 22, 2013

Update on compatibility of our Workflow module with WF 4.5 features

From http://www.devexpress.com/issue=Q442195:

We recently allocated a part of our resources on testing the Workflow module under .NET 4.5 and it all worked fine. The module itself does not even need to be recompiled under .NET 4.5 explicitly, because the new runtime will be used automatically if your application is targeted to .NET 4.5. As for the new features introduced in WF 4.5, you can see what is available in the rehosted workflow designer from this article: Support for New Workflow Foundation 4.5 Features in the Rehosted Workflow Designer. We regret to inform you that Microsoft made not all the aforementioned features available in the workflow rehosted designer, and I am afraid we cannot do much on our side to overcome this. Feel free to contact Microsoft directly via their support forums if you require availability of the remaining features in the rehosted designer.