WF4.0 与 Silverlight 4.0 集成

发布于 2024-10-21 09:43:59 字数 205 浏览 1 评论 0原文

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

提前致谢。

I am new to both Silverlight and WF (both 4.0 version), i was wondering if we can integrate WF4.0 with Silverlight 4.0 in such a way that, when we click on some button in sliverlight UI the workflow should be executed and the output from the final activity of the workflow is displayed in the Silverlight screen. If it can be done then please provide me with some link or any tutorial where i can learn about this and start implementing.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

满身野味 2024-10-28 09:43:59

在 WF 4.0 中,您可以通过 WCF 端点启动(或推进)工作流。因此,如果您可以从 Silverlight 应用程序调用 WCF 端点,您应该能够非常轻松地完成此操作。 Microsoft 的 WF 开发人员中心上有大量信息。

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

  1. 从“WCF 工作流服务应用程序”模板创建一个新项目(和新解决方案)。该项目将被命名为 DeclarativeServiceLibraryX。这将为您提供一个使用 SequentialService 的非常简单的 WorkflowService 定义,该定义仅接收来自客户端的请求(使用单个整数参数)并发送响应(使用相同的值)。该项目创建为 Web 项目,因此包含 Web.config。
  2. 创建一个新的 Silverlight 4 应用程序。系统将询问您是否要在现有 Web 项目(在步骤 #1 中创建)中托管 Silverlight 应用程序。说“是”可能是个好主意。
  3. 在 Silverlight 应用程序中,选择“添加服务引用...”,然后选择“发现/解决方案中的服务”。 Service1.xamlx 将显示为一个选项,选择它并单击“确定”。
  4. 然后VS将生成一个WCF服务引用客户端。然后您可以添加一个 TextBox &用于捕获一些数据、创建客户端并将服务调用通过网络发送到 WCF 工作流服务的按钮。然后可以根据需要修改此工作流服务(或使用这些步骤将 WCF 工作流服务添加到您自己的 Web 项目)。

可能具有挑战性的一个领域是修改 WCF 服务绑定以与 Silverlight 兼容;也许首先在服务器端项目中创建一个与 Silverlight 兼容的 WCF 服务,然后创建一个 WF WCF 端点并查看生成的代码和示例。配置以了解如何将所有内容组合在一起。

MSDN Endpoint 博客也是了解有关 WF 和 WCF 的更多信息的有用资源(尤其是使用新的样式轻量级 REST 样式“WCF Web HTTP”绑定,这可能更适合 Silverlight 客户端使用,

我假设您不想在 Silverlight 应用程序本身内托管工作流,因为 WF 是一个完整的 .Net。我确信您可以编写自己的在 Silverlight 中运行的轻量级工作流框架,但考虑到工作流通常是多用户、服务器端问题,这可能不是很有用的问题。

In WF 4.0 you can have workflows started (or progressed) by WCF endpoints. Therefore, if you can call the WCF endpoint from your Silverlight application you should be able to do this quite easily. Lots of information on Microsoft's WF Developer Centre.

Assuming you are using Visual Studio 2010, you can get up and running with a very simple Silverlight -> WF example very quickly...

  1. Create a new project (and new solution) from the 'WCF Workflow Service Application' template. The project will be named DeclarativeServiceLibraryX. This should give you a very simple WorkflowService definition using SequentialService that simply receives the request from a client (with a single integer argument) and sends a response (with the same value). This project is created as a web project so includes a Web.config.
  2. Create a new Silverlight 4 application. You will be asked if you want to host the Silverlight app in the existing web project (created in step #1). Probably a good idea to say yes.
  3. In the Silverlight application, select 'Add Service Reference...', then 'Discover/ Services in Solution'. Service1.xamlx will appear as an option, select it and click Ok.
  4. VS will then generate a WCF service reference client. You could then add a TextBox & Button to capture some data, create the client and send the service call across the wire to the WCF Workflow Service. This Workflow Service could then be modified as necessary (or use these steps to add a WCF Workflow Service to your own web project).

One area that might be challenging is modifying the WCF service bindings to be compatible with Silverlight; perhaps create a Silverlight-compatible WCF service in your server-side project first, then create a WF WCF endpoint and look at the generated code & config to see how to put things together.

The MSDN Endpoint blog is also a useful resource for learning more about WF and WCF (especially with the new style lightweight REST-style 'WCF Web HTTP' bindings, which might be more suitable for consumption by a Silverlight client.

I am assuming that you don't want to host the workflow inside the Silverlight app itself, as WF is a full .Net framework component rather than being Silverlight compatible. I'm sure you could write your own lightweight workflow framework that runs inside Silverlight, but given workflow is generally a multi-user, server-side concern this probably wouldn't be very useful concern.

紫南 2024-10-28 09:43:59

我在此处找到了一个 WPF 示例示例 。希望他们能对您有所帮助,或者至少对这个主题有一个大致的了解。

I found an example with WPF here for these samples. Hope they will help you a bit or at least give a general look at this topic.

生活了然无味 2024-10-28 09:43:59

Workflow Foundation 不包含在 Silverlight 4.0 运行时中,因此不能在 Silverlight 应用程序中使用。所以 Silx 的答案与 Silverlight 完全无关。 James Websters 的答案是利用 Silverlight 的 WF 的唯一解决方案。

Workflow Foundation is not included in the Silverlight 4.0 runtime and thus cannot be used within a Silverlight app. So Silx answer do not relate at all to Silverlight. And James Websters answer is the only solution to make use of WF from Silverlight.

陌路黄昏 2024-10-28 09:43:59

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

You cant use WF with silverlight.... the only way is , You can call WCF service to access WF as explained by James Webster.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文