Integrating Integrators – BizTalk, Windows Azure, Windows Workflow, and Beyond

Windows Workflow

This is the top level group for Microsoft Windows Workflow Foundation. Find blogs, samples, videos, and learning resources for various versions of workflow including 3.0, 3.5, and 4.0 here.

Windows Workflow Community Blogs via Syndication

Windows Workflow Foundation related bloggers. All content is property of the original blog owner.
  • Windows Workflow Community Blogs via Syndication

    WF 3.5 Persistence and Tracking: Two databases or one?

    This refers to the previous version of Workflow, but it came up in a recent discussion, so I thought I'd share the relevant points. When developing a Workflow solution that uses persistence and tracking, you may wonder if you should run the scripts for both schemas on the same database, or create separate databases for both. In general, the recommended method is to use a single database, for performance reasons- since both the persistence and tracking components can share a connection, and can...
  • Windows Workflow Community Blogs via Syndication

    WF4 Performance Tip–Cache Activities

    When you create a new WorkflowConsole application you will see a line of code like this 1: WorkflowInvoker.Invoke( new Workflow1()); Looks innocent enough right? If you were only going to invoke this activity once this is not a problem.  But what if you were going to invoke this activity thousands of times? Suppose you wanted to use the activity in a WCF Service? What would the performance characteristic be? You need to understand what happens when you create and invoke an activity. There is...
  • Windows Workflow Community Blogs via Syndication

    WF4: How to Unit Test a Workflow that calls a WCF Service

    “The important point is that our test can’t control what that dependency returns to our code under test or how it behaves (if we wanted to simulate an exception, for example). That’s when we use stubs .” – The Art of Unit Testing - Roy Osherove, Yesterday morning I received an email from Ryo in Belgium who asked for help in unit testing a workflow.  Ryo had read my previous posts on Microsoft.Activities.UnitTesting .XamlInjector and wanted to use it to test his workflow but was having trouble...
  • Windows Workflow Community Blogs via Syndication

    Windows Server AppFabric and the new Web Platform Installer (3.0)

    When the new Web Platform Installer (3.0) was released I had trouble finding Windows Server AppFabric.  The new UI can be a little confusing so to save you some trouble here are the instructions for installing Windows Server AppFabric. The Simple Way Use this link it will launch the web platform installer and just install it. The Web Platform Installer UI Go to http://www.microsoft.com/web and download then run the Web Platform Installer In the search box type AppFabric and press enter The search...
  • Windows Workflow Community Blogs via Syndication

    WCF: 4 Tenets of Service Oriented Data Validation

    Remember the 4 tenets of SOA?  One of them is that Boundaries are explicit.  When somebody sends data to your service it is just like when you cross an international border into another country.  Just a couple of hours drive north of us in Redmond is the border crossing to Canada.  When you cross into Canada or back into the United States you have to stop your car and the border agents do their job.  Their job is to make sure that you have proper documentation and that you...
  • Windows Workflow Community Blogs via Syndication

    WCF Spike FaultContract, FaultException<TDetail> and Validation

    Ready to have some fun? Today I spent the day investigating WCF FaulContracts and FaultException and some best practices for argument validation.  I’m going to do the same in a future post on Workflow Services but I felt it best to really understand the topic from a WCF point of view first. Investigation Questions What happens when a service throws an exception? What happens if a service throws a FaultException? What happens if the service operation includes a FaultContract and it throws a FaultException<TDetail>...
  • Windows Workflow Community Blogs via Syndication

    WF4 Versioning Spike: How To Unit Test Activity Versioning

    With the work I’ve been doing on versioning I’ve had to write unit tests that verify the behavior I expect from the helper classes in Microsoft.Activities.dll .  If you want to verify that your assembly versioning strategy is working correctly you may have to do similar testing.  This sort of testing is tricky… in this post I’ll share with you my solutions to some tough problems. Test Problem: Multiple Versions of the Same Assembly in a Test Run There is only one deployment directory for...
  • Windows Workflow Community Blogs via Syndication

    WF4 Versioning Spike: IIS Hosted Workflow Services

    In my previous post , I’ve been exploring how changing the version of an ActivityLibrary affects a workflow.  In this post I want to explore how Workflow Services behave. The good news – as far as I can tell, they behave exactly as they should behave loading the assembly version they were built with.  For this test I have a Workflow Service that uses an activity from ActivityLibrary1 and we will run through a similar set of scenarios deploying a Workflow Service (.xamlx) to a web site hosted...
  • Windows Workflow Community Blogs via Syndication

    WF4 Activity Versioning Solution

    In my last post I showed you how the _XamlStaticHelper class uses different semantics when loading assemblies referenced by XAML files. Today I’m going to show you a solution I’ve built into the Microsoft.Activities library that can help you apply standard CLR behavior when loading referenced assemblies. endpoint.tv - How To Make WF4 Load the Assemblies You Really Want   Strict Assembly Resolution for Compiled Workflows Step 1: Download and reference Microsoft.Activities.dll Download the latest...
  • Windows Workflow Community Blogs via Syndication

    WF4 Spike: Activity Versioning, GAC and Loose XAML

    In agile software development , a spike is a story that cannot be estimated until a development team runs a timebox ed investigation. The output of a spike story is an estimate for the original story. - SearchSoftwareQuality.com Definitions Update 1/8/2011: For a solution to these problems see this post .  Special thanks to Krisragh for his help with this post. For this spike I want to answer the following questions What happens when a V1 workflow loads a V2 activity? What happens when a V2...
  • Windows Workflow Community Blogs via Syndication

    endpoint.tv - A Better State Machine Driven WPF UI

    I couldn't leave this one alone. While I was making the last episode I said that there was possibly another strategy for detecting states and transitions and that was to use Tracking data. In this episode I'll show you a better way to implement our WPF UI using the Model View View-Model (MVVM) pattern that does not require the state machine to have actvitivities to notify the model of state changes. The source including some really cool unit tests that make use of Microsoft.Activities.UnitTesting...
  • Windows Workflow Community Blogs via Syndication

    New Release Microsoft.Activities.UnitTesting 1.71

    Just posted a new release of Microsoft.Activities.UnitTesting This release incorporates the Task Parallel Library to greatly simplify test code. Episodes You can now create a task that will run an episode of work in the workflow. An episode is simply a pulse of work that the workflow runs. For example an episode might look like the following Thread Action host Run the workflow host Wait for idle Workflow Activity 1 Workflow Activity 2 (creates a bookmark) Workflow Invoke Idle delegate - host sets...
  • Windows Workflow Community Blogs via Syndication

    WCF AppFabric Caching Caching Sample Behavior

    On Thanksgiving day while I was running in the snow I had an idea – what if you could create an Operation Behavior that would allow WCF to cache the result of a service call in Windows Server AppFabric Cache ? Download WCF AppFabric Caching Caching Sample Behavior So I created a sample application that does this by implementing an attribute that implements IOperationBehavior and IOperationInvoker along with a Service Behavior that supports AppFabric Caching.  I wanted to make this work with...
  • Windows Workflow Community Blogs via Syndication

    WCF Web APIs Roundup - Volume 1

    A little over a month ago we launched our new WCF Web Apis on Codeplex . Since then a bunch of folks in the community (and some internal folks) have been posting about their own explorations / thoughts of the new bits. it’s great to see the work that they are doing! I am going to start aggregating these and periodically (I am not committing to a cadence but am aiming for monthly) post pointers to whatever I find. Appreciate any suggestions to the format. Blogs On WCF Web Apis Microsoft WCF gets serious...
  • Windows Workflow Community Blogs via Syndication

    WCF and AppFabric Auto-Start

    Auto-start is a really cool feature of Windows Server AppFabric. Recently I was asked about how you can do some kind of process initialization in your code with Auto-start (which the documentation implies that you can do). This led to a discussion with a number of questions that we want to address What does Auto-start really do? How much faster is the first call to my service if I use Auto-start? How can I write code that is called when the service is auto-started? endpoint.tv - WCF and AppFabric...
  • Windows Workflow Community Blogs via Syndication

    How to consume a WCF Service from a WF4 Workflow

    Recently I saw a message on the WF4 Forum where someone was asking for help learning how to consume a WCF service from a Workflow. In this post I’m going to walk through how you can consume a WCF service from a Workflow where both the service and the workflow live in the same web site. This should be simple, but unfortunately it is not as simple as it should be. Create an ASP.NET Web Application Start Visual Studio 2010 and Create a new ASP.NET Web Application Add a new WCF Service to the project...
  • Windows Workflow Community Blogs via Syndication

    New WF4 Caching Activities for Windows Server AppFabric

    I’m happy to announce that we have just posted a “Labs” release on our http://wf.codeplex.com site with some new Caching Activities . These activities work with Windows Server AppFabric Caching making it possible for you to use the cache directly from your workflow In this example I’m implementing the “Cache Aside” pattern where I first try to get the value from the cache and then if I can’t find it I get the value from a repository of some kind and then...
  • Windows Workflow Community Blogs via Syndication

    Streaming over HTTP with WCF

    Recently I had a customer email me looking for information on how to send and receive large files with a WCF HTTP service. WCF supports streaming specifically for these types of scenarios.  Basically with streaming support you can create a service operation which receives a stream as it’s incoming parameter and returns a stream as it’s return value (a few other types like Message and anything implementing IXmlSerializable are also supported). MSDN describes how streaming in WCF works here ,...
  • Windows Workflow Community Blogs via Syndication

    Are you using WCF within your organization?

    Do you use WCF within your organization either for internal apis for exposing services and functionality to 3rd parties? We’re looking to connect with customers using our stuff in the real world so we can understand your use cases, the things you’ve liked about WCF and where you’d like to see us improve / go further. If interested, please contact us. We look forward to hearing from you. Blog Post by: .NET Connected Framework Team
  • Windows Workflow Community Blogs via Syndication

    Simplified Asynchronous Programming Model in WCF with async/await

    Managing multiple asynchronous operations in WCF is currently very complex regardless of whether you use the existing event or Begin/End asynchronous patterns. In fact, both internal and external customers frequently ask about how to implement simple coordination of WCF operations, and even though sending multiple requests to a WCF backend is a core scenario, WCF does not provide a satisfactory solution. The amount of code needed to facilitate even simple coordination tasks is large and prone to...
Page 1 of 25 (487 items) 12345»