代码之家  ›  专栏  ›  技术社区  ›  Kevin Hoffman

WF4/WCF中的RESTful工作流服务端点

  •  7
  • Kevin Hoffman  · 技术社区  · 14 年前

    各位, 我正在构建一个非常标准的工作流,希望通过WCF端点公开它—我正在使用“WCF服务应用程序”项目模板,并且我有一个.xamlx服务。这是一个非常简单的文档交换工作流服务—我希望用户将一个XML blob作为HTTP POST的主体(HTTP头包含身份验证令牌)。作为响应,这些使用者将得到一个包含回复的XML blob。我在这里使用REST/POX的两个目标是基于文档/消息的交互特性,我想让客户端开发更容易用于非.NET环境(特别是像Silverlight和iPhone这样的有限环境)。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Maurice    14 年前

    没有现成的活动允许您将REST与WF一起使用,Receice是纯SOAP。

    您可以构建一个自定义的REST Receive活动,并将其与您的工作流一起使用。根据你的需要,这将是一个相当少的大量工作。简单的选择是使用标准的REST WCF端点,将REST数据转换为SOAP,将请求传递给工作流,并对结果消息执行相反的操作。

        2
  •  2
  •   Community Egal    7 年前

    item on CodePlex 包括源代码。另请参见 this SO answer

    the UserVoice request

    使用REST传递服务

    正如@Maurice提到的,您还可以将WF服务视为后端服务,并公开一个REST服务,该服务只需调用WF服务。

    这种方法有点笨拙,但它的优点是它不使用任何未发布或非常复杂的内容。

    命名管道绑定 . 这个绑定是 ,但仅当调用者和被调用者位于同一框中时才起作用。

    asynchronous 因此在调用WF服务时它不会阻塞线程池线程。