在提出问题之前,在你因为有几个类似问题而生气之前,我想解释一下项目要求是什么。你会发现这个问题与其他问题不同。
我知道托管的不同可能性。
最简单的方法是在ASP.NET Web应用程序中托管,但由于我们不知道用户将上传哪种工作流程,因此IIS AppDomain回收可能会破坏工作流程线程的执行。
WCF工作流服务看起来不错,但用户上传自己的xaml工作流定义会让事情变得更复杂。看起来我们必须创建像核心工作流,公开为WCF服务,并且该工作流将加载和执行内部工作流(xaml客户上传)。在这种情况下,不确定如何将参数传递给内部工作流。
第三个选项,也是最适合我的选项,是在 Windows服务中托管工作流程执行。 Web应用程序和窗口服务之间的通信可以通过MSMQ。这个解决方案的缺点可能是确保web应用程序和赢得服务之间良好沟通的男性代码。
我错过了更好的解决方案吗?如果您需要更多详细信息,请发表评论。
答案 0 :(得分:3)
我有类似的要求,并与“问题解决者”进行了长时间的讨论。
which one is better architecture for the WF4.0?
现在我的结论是将Workflow开发为IIS上托管的工作流服务。
您可以遵循以下两种方法。