Keep moving...
Do right thing, then do thing right.
posts - 61,comments - 71,trackbacks - 0

workflow service,是通过WorkflowServiceHost来托管的,WorkflowServiceHost继承自ServiceHostBase,因此workflow service具有普通的wcf service的所有feature。

但是workflow service还是有一些不同:
1)不用定义接口作为Service Contract,而是直接在Receive上定义接口消息。然后在Receive上可以指定ServiceContractName来约束service reference。这种做法感觉像是脱离了契约的方式,感觉比较怪。
2)workflow service,一个xamlx只能提供一个方法,而不像svc可以提供多个方法,不过可以通过提供多个xamlx来满足多个工作流方法的需要。或许在xamlx下能够支持多个工作流,可能会更直观一些。
3)workflow service中,由于在Receive接收到消息之后,是将workflow的执行交给另外一个线程处理,因此ServiceSecurityContext以及OperationContext都不可用,只能给Receive/Send增加实现IReceiveMessageCallback/ISendMessageCallback接口的exection property来实现。这只是个对付的解决办法,或许应该是Workflow service的一个缺陷吧。

posted on 2011-06-11 03:26 Bright Zhang 阅读(101) 评论(0) 编辑 收藏