Silverlight 4.0 将WF4.0与Silverlight 4.0集成

Silverlight 4.0 将WF4.0与Silverlight 4.0集成,silverlight-4.0,workflow-foundation-4,Silverlight 4.0,Workflow Foundation 4,我对Silverlight和WF都是4.0版本的新手,我想知道我们是否可以将WF4.0与Silverlight 4.0集成在一起,这样,当我们单击Silverlight UI中的某个按钮时,应该执行工作流,并且工作流最终活动的输出显示在Silverlight屏幕上。如果它可以做到,那么请提供一些链接或任何教程,我可以了解这一点,并开始实施我 提前感谢。我找到了一个WPF的例子。希望他们能帮你一点忙,或者至少能大致了解一下这个话题 在WF 4.0中,您可以通过WCF端点启动或推进工作流。因此,如果

我对Silverlight和WF都是4.0版本的新手,我想知道我们是否可以将WF4.0与Silverlight 4.0集成在一起,这样,当我们单击Silverlight UI中的某个按钮时,应该执行工作流,并且工作流最终活动的输出显示在Silverlight屏幕上。如果它可以做到,那么请提供一些链接或任何教程,我可以了解这一点,并开始实施我


提前感谢。

我找到了一个WPF的例子。希望他们能帮你一点忙,或者至少能大致了解一下这个话题

在WF 4.0中,您可以通过WCF端点启动或推进工作流。因此,如果您可以从Silverlight应用程序调用WCF端点,那么您应该能够非常轻松地做到这一点。大量关于

假设您使用的是Visual Studio 2010,您可以很快地启动并运行一个非常简单的Silverlight->WF示例

从“WCF工作流服务应用程序”模板创建新项目和新解决方案。该项目将命名为DeclarativeServiceLibraryX。这将为您提供一个非常简单的WorkflowService定义,该定义使用SequentialService,它只使用一个整型参数接收来自客户端的请求,并发送具有相同值的响应。此项目创建为web项目,因此包含一个web.config。 创建一个新的Silverlight 4应用程序。系统将询问您是否希望在步骤1中创建的现有web项目中托管Silverlight应用程序。说“是”可能是个好主意。 在Silverlight应用程序中,选择“添加服务引用…”,然后选择“在解决方案中发现/服务”。Service1.xamlx将显示为一个选项,选择它并单击“确定”。 VS随后将生成一个WCF服务引用客户端。然后,您可以添加一个文本框和按钮来捕获一些数据,创建客户机并通过网络将服务调用发送到WCF工作流服务。然后可以根据需要修改此工作流服务,或者使用以下步骤将WCF工作流服务添加到您自己的web项目中。 一个可能具有挑战性的领域是修改WCF服务绑定以与Silverlight兼容;可能首先在服务器端项目中创建一个与Silverlight兼容的WCF服务,然后创建一个WF WCF端点,并查看生成的代码和配置,以了解如何将这些内容组合在一起

对于了解更多关于WF和WCF的信息,特别是对于新样式的轻量级REST样式“WCF Web HTTP”绑定,它也是一个有用的资源,可能更适合Silverlight客户端使用


我假设您不希望将工作流托管在Silverlight应用程序本身中,因为WF是一个完整的.Net framework组件,而不是Silverlight兼容的组件。我相信您可以编写自己的轻量级工作流框架,它在Silverlight内部运行,但是给定工作流通常是多用户的,服务器端担心这可能不是非常有用的问题。

工作流基础不包括在Silverlight 4运行时,因此不能在Silverlight应用程序中使用。所以Silx的答案与Silverlight完全无关。James Websters的答案是利用Silverlight的WF的唯一解决方案。

您不能将WF与Silverlight一起使用。。。。唯一的方法是,您可以调用WCF服务来访问WF,正如James Webster所解释的。

您是否建议我创建一个WCF并从该WCF调用工作流,如果是这样,我认为这将影响我的应用程序的性能。您为什么这么说?WCF不一定会影响应用程序的性能,它只是一个用于组织分布式应用程序之间/内部通信的框架。可能影响性能的是,如果应用程序的Silverlight和服务器端组件之间的通信过于频繁,或者使用了“重”的协议,例如SOAP与轻量级REST WCF服务。但是,无论您是使用WCF还是其他机制来启用应用程序通信,分布式应用程序体系结构都面临着这些挑战。无论如何,我更新了我的答案,添加了一个逐步创建WCF工作流服务的示例和一个可以触发它的Silverlight客户端,希望它有用!这可以通过使用WorkflowInvoker来完成吗?例如,您可以将call WF与silverlight一起使用吗P