WCF工作流服务REST接口[重复]

2023-12-02

可能的重复:
WF4 / WCF 中的 RESTful 工作流服务端点

我正在尝试使 Windows Workflow Services 4.0 使用 REST 接口。我有一个非常简单的工作流服务,名为“Service1”,具有 receiveRequest 和 sendResponse 活动。

默认情况下,WF 服务自动生成实现的类和接口,但是我想强制 WF 服务使用我自己的支持 REST 的接口,而不是某些内部自动生成的接口。

界面如下:

[ServiceContract]
public interface IService
{
    [OperationContract]
    [WebInvoke( UriTemplate = "/Data/{item}", Method = "GET" )]
    String GetData( Int32 item );
}

但是,我在配置 XAML 以使用此界面时遇到困难。 我需要这样的 XAML 配置来指定服务合约名称是我自己的合约:

 <Receive x:Name="__ReferenceID0" CanCreateInstance="True" DisplayName="ReceiveRequest" sap:VirtualizedContainerService.HintSize="464,90" OperationName="GetData" ServiceContractName="w:IService">

但是,当我运行此工作流服务时,出现以下异常:

在服务“Service1”实现的合约列表中找不到合约名称“wfService.IService”。

但是,在幕后创建的服务没有实现 IService 接口,我想知道如何扩展由工作流引擎实例化的服务来实现我自己的接口(我上面描述过)?

Thanks


在 WF4 中,您无法在代码中声明 ServiceContract 并使用它。合同在 XAML 中声明,WorkflowServiceHost 根据声明生成端点。

要为您的工作流程服务启用 REST,您有以下几种选择:

  1. 使用 HttpWorkflowHost 来自http://wf.codeplex.com/wikipage?title=WebAPIWorkflow。限制是你只能休息。
  2. 做类似这样的事情:http://msdn.microsoft.com/en-us/library/aa967564.aspx区别是:替换 WorkflowFormatterBehavior 而不是 DataContractSerializerOperationBehavior,参数是从消息契约而不是操作契约中提取的,请记住,您将没有此示例的客户端部分,并且必须根据协议格式化响应。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WCF工作流服务REST接口[重复] 的相关文章

随机推荐

  • 如何通过 ZF2 FormElementManager 将 Doctrine ObjectManager 传递到表单

    我想在 ZF2 中创建自定义表单元素 这需要 FormElementManager 我目前在表单创建中使用 Doctrine Hydrator 如下所示本教程 在此方法中 在控制器中创建一个 ObjectManager 对象 并在实例化时将
  • 基于 R 中的值进行迭代和分配的函数

    我正在编写一个函数 该函数迭代一个帐户列表 每个帐户都有一个关联的值 并为该帐户分配名称列表中的一个名称 名称列表将具有关联的值 我希望分配的名称是具有最小值的名称 name totalvalue Jeff 54 Christy 43 Ma
  • Adobe flash cs6 输出窗口在 .exe 文件中执行 Filesteam 操作时自动关闭,但在 Flash 调试模式下工作正常

    我在用Adobe Flash CS6用于创建桌面应用程序 在该应用程序中我使用闪存文件系统文件流保存文本文件 我不想使用文件参考因为我不想显示保存对话框 当我在导出的文件中调用 new FileStream 时 swf or exe文件后
  • 使用 URL 中的 ID 从 mySQL 选择数据

    我有一个包含列的表 GroupID GroupName GroupDesc Overs 1 Test Group Description Yes 我有一个名为 list php 的页面 它当前为组表 上图 中数据库中的每一行创建 URL 该
  • 如何中断 Scanner.nextline() 调用

    SO 上有很多关于中断读取 system in 的线程 但我在这里寻找的是一些关于如何最好地编码我想要实现的目标的建议 我有一个getlogin 需要执行以下操作的方法 要求用户输入所需的登录环境详细信息 如果 6 秒后用户没有输入有效值
  • 从 Android 应用程序中的 Sqlite 数据库读取数据。

    我正在尝试从数据库读取数据 我将数据库导入到sqlite手动 现在只想在 android 应用程序中建立连接 并希望读取行并将其显示在文本字段中 但是我使用的代码要么每次都创建新数据库 要么在该数据库中再次创建表 我出现运行时错误 我的代码
  • 像 € 这样的 Html 实体在 CSV 转换中不会转换为其符号

    我使用过 CSV 解析器http code google com p parsecsv for php 将我的报告导出为 PHP 中的 CSV 我已显示销售总额 euro XXXX XX 在浏览器以及Excel 导出后 中 显示为欧元符号
  • 使用 JavaScript 淡出 Mp3 歌曲

    我正在尝试创建一个嵌入了一些 JavaScript 的 HTML 文件 该文件允许我按下按钮并开始淡出歌曲 我已经设法让它工作 以便它播放歌曲 这是一个开始 但我一直在尝试使用第二个功能来尝试降低音量并在该功能上设置延迟 有人可以帮忙吗
  • WPF C# Web浏览器滚动到顶部菜单

    我有一个网格 里面有菜单和滚动查看器 在滚动查看器中 我有一个带有另一个网格的组框和一个网络浏览器元素 现在 当我使窗口小于网络浏览器内容的内容并在滚动查看器中向下滚动时 问题就出现了 所有内容都有边距 因此它位于顶部菜单下方 但网络浏览器
  • 需要在java中以某种方式识别本地机器

    我试图找出应用程序正在运行的本地计算机的名称 或唯一标识特定计算机的其他方式 我一直在用这个 String hostname java net InetAddress getLocalHost getHostName 效果很好 但我碰巧在分
  • 无法使用 AWS Glue 中的 cx_oracle 连接 Oracle 数据库

    我正在尝试使用 cx oracle 从 AWSglue 连接 Oracle 数据库 但收到此错误消息 数据库错误 DPI 1047 无法找到 64 位 Oracle 客户端库 libclntsh so 无法打开共享对象文件 没有这样的文件或
  • 在不同的 Activity 或 Fragment 之间共享数据的正确方法是什么?

    我需要一个应该具有 UI 工作流程的应用程序 其中用户应该能够浏览应用程序的特定部分 可以是 ListView 或 GridView 并且他可以点击某个项目以显示该特定项目的详细信息 现在 如果用户向右滑动 即ViewPager 视图分页器
  • 更改 lubridate 函数以从星期一而不是星期日开始

    dates lt NULL date lt as Date 01 01 2014 d m Y dates lt data frame date as Date character cal day in year num numeric ca
  • 将大文本文件添加到资产文件夹

    我正在开发一个 Android 2 2 应用程序 我想向 Android 项目添加一些大文本文件 4 5MB 或更多 首先我不知道是否可以将此类大文件添加到资产文件夹中 但是 如果可以的话 是否可以压缩它们 如何压缩文件 并解压 还有其他更
  • 如何从 WebAPI 传递 pdf 并从 MVC 控制器读取 pdf?

    我有一个 Web API 服务 应该返回 PDF 然后我尝试调用该 WebAPI 方法来读取 PDF 这是我的 API 方法 HttpPost Route GetTestPDF public HttpResponseMessage Test
  • Git 推送问题

    我有一个从 github 上新克隆的存储库 地址是git github com JoshClose CsvHelper git如果你想尝试一下 我正在使用 tortoisegit 但如果需要的话 我会使用命令行来解决这个问题 我可能需要稍微
  • 如何动态改变webView的高度?

    我目前正在使用webView来显示新闻 在新闻下面我打算放一些按钮 所以我需要获取webView的高度 以便在所有下载后根据webView的高度改变按钮的位置 在其他那么 如何动态改变webView的高度呢 try this void we
  • ref($variable) 何时返回“IO”?

    这是文档的相关摘录ref功能 返回的值取决于引用所引用的事物的类型 内置类型包括 SCALAR ARRAY HASH CODE REF GLOB LVALUE FORMAT IO VSTRING Regexp 基于此 我想象调用ref在文件
  • Google Cloud Kubernetes Ingress 静态 IP 地址未反映且与设置不同

    我正在尝试在 Google Cloud 上使用 GKE 部署完整的 Web 应用程序 后端为 Nodejs 前端为 Angular 然后为其启用 SSL 我创建了一个全局 IP 地址 随后在列表中看到了它 gcloud 计算地址创建 mat
  • WCF工作流服务REST接口[重复]

    这个问题在这里已经有答案了 可能的重复 WF4 WCF 中的 RESTful 工作流服务端点 我正在尝试使 Windows Workflow Services 4 0 使用 REST 接口 我有一个非常简单的工作流服务 名为 Service