SharedConnectionWorkflowCommitWorkBatchService

I'm persisting my workflows to separate server. This didn't work and after a lot of pounding my head against the wall and digging around in the forums I saw posts from Xin and Steve explaining SharedConnectionWorkflowCommitWorkBatchService as a workaround for the DTC issue. And now persistence works. (Thank you Xin & Steve).

My question is will this workaround be a permanent part of the release going forward, or has this already been addressed / corrected?

I searched the database but the latest info I could find was in mid-May. Can I get a status on this?

Thanks,

Matt

[618 byte] By [builtsoftware] at [2007-12-21]
# 1

Using the SharedConnectionWorkflowCommitWorkBatchService and enabling DTC on all computers is not a workaround, it is a requirement if you have your tracking and persistence in the same SQL 2000 database on a remote server.

TomLake at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Windows Workflow Foundation...
# 2

Hi Tom.

Thank you very much for responding.

An early post in the forums makes this sound like an issue to be worked around:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=216629&SiteID=1

What exactly is the batch service there for? Is it just there to provide a "no transactions" option to avoid the restrictions of the DTC? Does it do anything else?

The problem for me is that my application shouldn't need to know whether or not transactions are being used, since the persistence is abstracted away from it. I don't want to add code for something that is really a configuration option. Is there a section in the WF config block where I can turn transactions on or off?

Also, is there any documentation available on the tradeoffs between enabling DTC or using the batch service? I've only seen the batch service mentioned in the forums.

Thanks!

Matt

builtsoftware at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Windows Workflow Foundation...
# 3

From another post on the subject:

Joel West wrote:

I'll add some to this. The SharedConnectionWorkflowCommitWorkBatchService can only be used with the out of box SqlWorkflowPersistenceService and SqlTrackingService. The connection strings must be the same (both sets of Sql objects in the same databases). This is intended as a performance enhancement that avoids the overhead of extra connections to the database and DTC transactions.

Important: The SharedConnectionWorkflowCommitWorkBatchService is not about whether or not persistence and tracking will be written transactionally. Regardless of the WorkflowCommitWorkBatchService that you use the services will always use the same transaction (assuming the SqlTrackingService is left in its default IsTransactional=true state; setting this to false will have a completely different write semantic however, see the help docs for more details

TomLake at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Windows Workflow Foundation...
# 4

Yes, I also saw that post.

builtsoftware at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Windows Workflow Foundation...

Software Development for Windows Vista

Site Classified