WCF Workflow Service (.xamlx) and persistence

已锁定 WCF Workflow Service (.xamlx) and persistence

  • jeudi 3 mai 2012 04:04
     
     

    This is dealing with Windows WorkFlow 4.x

    I have create a .XAMLX (WCF) workflow project that has about 7 - 10 pick branches on it.

    I consume this service in an  .aspx web client.

    Inside the web.config file of the XAMLX (WCF) service project.

    I added something like

    <behaviors>

          <serviceBehaviors>

            <behavior>

              <serviceMetadata httpGetEnabled="true"/>

            </behavior>

             <behavior name="sqlWorkflowInstanceStore">

              <serviceMetadata httpGetEnabled="true"/>

              <sqlWorkflowInstanceStore

                instanceCompletionAction="DeleteNothing"

                instanceEncodingOption="None"

                instanceLockedExceptionAction="NoRetry"

                connectionStringName="ApplicationServerAzureWorkflowInstanceStoreConnectionString"

                hostLockRenewalPeriod="00:00:30"

                runnableInstancesDetectionPeriod="00:00:05"/>

            </behavior

          </serviceBehaviors>

        </behaviors>

    Inside the "SendToReply" activity of the pick branch.
    I checked the property that says "PersistBeforeSend".

    When I check my local "SqlServer2008 R2" database.
    No persistence data is stored.

    What am I doing wrong???

    Also, if I wanted to add my own tracking data to the 4.0 SqlInstanceStore.
    How will I do this?

    Thanks

Toutes les réponses

  • lundi 7 mai 2012 09:06
     
     
     I have the same probleme :s
  • mercredi 16 mai 2012 23:19
     
     

    1) You may want to use appfabic for  windows server  as opposed to appfabic for  azure

    2) ApplicationServerAzureWorkflowInstanceStoreConnectionString in the config may not point to your local sql server config store.

    - Use App fabric config tool to specify where the persistnace and monitoring stores are.

    3)Custom tracking information can be sent out by using customtrackingrecord within custom activity. For example

    ...

    ....

     record = new CustomTrackingRecord( "CustomName");
     record.Data.Add("RetryAttempt", 10); // tracking variables
     context.Track(record); // acutally emits the custom tracking records. The context variable is the custom activity context...