【问题标题】:Create dynamic WCF service?创建动态 WCF 服务?
【发布时间】:2016-09-14 10:12:51
【问题描述】:

我一直坚持创建动态 WCF 服务来更新由 XMLWriter 手动创建的旧服务,我想将整个解决方案引入标准 WCF。

我在ingebrigtsen.info 上找到了创建动态服务的解决方案,但问题是旧服务具有将结果作为记录数组返回的方法,但在此解决方案中,我必须将常量类型定义为返回类型,我甚至无法创建静态记录类型,因为有许多运行时生成的方法具有不同的属性集。

<soap:Body>
<getcdrResponse xmlns="http://tempuri.org/">
  <getcdrResult>
    <_SID>16111250</_SID>
    <Destination>9392191436</Destination>
    <callTime>0</callTime>
    <pulse>19</pulse>
    <Duration>19</Duration>
    <price>0</price>
    <Name>test</Name>
  </getcdrResult>
  <getcdrResult>
   .....

我认为有一种方法可以在输出上编写检查器,但我不知道这是否是答案。

我的问题是:在动态创建的 WCF 方法中将动态 ResultSet 作为返回的最佳答案是什么?

【问题讨论】:

  • 如果我理解正确的话,服务接口是“动态的”。也就是说,一个方法可能是暴露接口的一部分,但话又说回来,它可能不是。这就是你说的吗?请提供更多信息。
  • 其实服务在数据库中加载一个可用存储过程的列表,并暴露一个公共服务,然后调用该服务后会调用数据库中相关的存储过程,然后服务必须返回从SP返回的DataSet。
  • 服务必须有一个契约,所以你不能使用“动态”接口,你的方法应该有一个已知的返回。你可以返回一些“通用”的东西,比如对象或字符串,但是阅读你的评论,因为你想返回数据,wcf 数据服务可以帮助你:msdn.microsoft.com/pt-br/library/cc668792(v=vs.110).aspx

标签: c# web-services wcf soap wsdl


【解决方案1】:

在搜索了大约一周后,我找到了实现我想要的解决方案。
我在Create dynamic WCF service in C# 上写了一篇文章,这不是一个完整的答案,但它解决了我的问题。

希望你喜欢

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-20
  • 1970-01-01
  • 1970-01-01
  • 2016-05-01
  • 2011-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多