Freigeben über


Workflow to Host Data Transfer

Today I was asked about transferring data between the workflow and the host application. Because workflow instances run in a different CPU thread to the host application data transfer is an important consideration. In WF Beta 1 you added parameters to the workflow in the workflow designer.

In WF Beta 2 we still have parameters, but they are defined directly in the workflow class file in code now. Any property on the workflow class can be a parameter. You can also use events implemented in the HandleExternalEvent and CallExternalMethod activities or you can use a custom event activity.

Both of these methods of data transfer are shown in Lab 1 of the Workflow hands on labs for WF Beta 2 which you can get here.

Comments

  • Anonymous
    January 22, 2006
    Also worth noting that because events from DataTransferServices may be queued on the way into the runtime they need to be serializable- usually just a simple case of implementing ISerializable.
  • Anonymous
    January 26, 2006
    I don't quite get the differences. When should I use which method?

    I am currently working on a ASP.NET form which kicks off a workflow. What should I use?

    1. Should I start the workflow by setting some parameters (which I received from the form)
    2. Should I start the workflow by raising an event?

    I have seen several samples using one of the above methods, but what is the preferred method?
  • Anonymous
    January 29, 2006
    Hi Sander,

    I'd suggest you choose one that works and go with that. I don't have any data to choose one or the other.

    Cheers,
    Paul
  • Anonymous
    February 08, 2006
    Paul,

    thanks for the answer. I will use the parameters, more readable for other developers.

    Greetings