2009-02-12 88 views
1

我正在使用WorkFlowServiceHost(在.net 3.5中)托管状态机工作流。我使用WCF接收活动处理对工作流程的调用。我正在使用WCF授权策略根据消息标题中的信息将传入请求附加到请求。因此,我可以使用ServiceSecurityContext或Thread.CurrentPrincipal获得有关请求(角色,用户等)的授权信息。Workflow Foundation线程和WCF OperationContext

我知道这对我们不起作用,因为工作流调度不同的线程来处理运行时引擎在有工作要做时(即接收活动)引发的事件。有关请求的上下文信息(OperationContext)在工作流程中不再可用(除非在运行时线程上执行工作时随机)。

我想要做的是在创建工作线程之前获取有关请求的信息(OperationContext),获取工作线程并将上下文信息附加到工作线程,以便在工作流实例中可用。

我想在运行时必须有一些事件可以处理,但我没有提出任何事情。我真的不想使用手动工作流调度程序。任何帮助表示赞赏。

谢谢!

回答

1

我已经很晚了,但是我在Google上搜索“silverlight operationcontext”,发现你的SO问题以及blog post that I am linking(在Google搜索结果中一个接一个)。我不知道这是否会有所帮助(他几乎在两年后说)。

我没有用WCF工作太多,也没有用WFF工作,所以除了这个链接之外我没有太多的补充。

+0

哇,有人回复! ;-)。感谢您的链接,我们最终将工作流程移植到了我们自己的解决方案中,这很烦人,但它最终成为正确的选择(更好的性能,更多的控制,更少的开销)。但从外观上看,他们在WF4.0中提供了更好的钩子 – Dan 2011-03-30 11:18:13