有没有办法对工作流定义 XAML 进行服务推断,以创建一个接口,该接口可以分发给客户端以与 ChannelFactory 一起使用,而不是主机公开 WSDL 并且客户端必须通过添加服务引用来生成服务定义?
问问题
306 次
1 回答
2
我分三步完成了这项工作:
- 临时公开工作流服务中的元数据
- 使用 svcutil 创建代理代码
- 将配置改回不公开元数据
详细地:
- 在创建为“WCF 工作流服务应用程序”(DeclarativeServiceLibrary1) 的项目中包含定义服务的 XAMLX 文件
- 编译项目
- 将项目设置为启动项目
- 在解决方案资源管理器中选择 xamlx 文件
- 按 Ctrl-F5 -> WCF 测试客户端启动,您会看到您的服务已加载
- 右键单击 WCF 测试客户端中的 xamlx URL,选择复制地址(例如
http://localhost:56326/Service1.xamlx
) - 打开一个 VS2010 管理控制台窗口
- 使用svcutil.exe创建代理代码:
cd /D %TEMP%
svcutil http://localhost:56326/Service1.xamlx
- 这将创建两个文件,一个 *.cs 和一个 *.config,其中包含代理代码
我在创建代理代码的其他方法(在 VS2010 中)有很多问题,外部 svcutil 是最稳定的方法。希望这可以帮助。
于 2013-04-18T14:33:52.933 回答