【问题标题】:Is there a WCF Rest C# Client Generation Tool?是否有 WCF Rest C# 客户端生成工具?
【发布时间】:2010-10-13 16:05:00
【问题描述】:

在我冒险创建一个之前,我想知道是否有人知道一个实用程序,它将获取 WCF Rest 服务的 REST 帮助页面并创建相关的 C# 消费客户端。

类似于 svcutil.exe 对 WCF 服务的作用或 wsdl.exe 对 Web 服务的作用但对 WCF REST 服务的作用

亲切的问候,

安德鲁

编辑更多细节:

请看这个链接:http://msdn.microsoft.com/en-us/library/dd203052.aspx

在使用 WCF Rest Starter Kit Preview 2 的 restful 服务中,它们提供将被序列化的类型。但我的意图是能够从描述模式的帮助页面创建客户端。然后可以为 C#、JavaScript、ActionScript 等创建客户端。作为 RESTful 服务的强类型版本,不是必需的或必需的。我想知道这是一个程序或实用程序,它可以做到这一点

【问题讨论】:

  • 您提到的帮助页面类似于服务文档?如果不是,您可以发布一些链接吗?如果是,则不需要记录所有休息服务。
  • 帮助页面只是一个带有 XSLT 样式表的 XML 页面。他们已经介绍了很多细节,并声称他们希望在不久的将来将其纳入框架。 :-) 安德鲁
  • 它还提供了用于通信的对象的模式,我认为这非常棒

标签: c# wcf rest


【解决方案1】:

为什么要为 RESTful 服务创建客户端?你不需要——你只需要能够发起 HTTP 请求。如果您想通过 SOAP 或其他方法调用相同的操作,请为服务创建一个新端点和一个新合同,并为其公开 mex,以便 svcutil 可以使用它。

【讨论】:

  • 如果我创建接受类型的 restful 服务,我想创建一个包含这些类型的客户端库,例如用于 PUT 和 POST 请求
  • 我只是想获得一个帮助类,我并不是说有必要,:-) 谢谢
  • 您绝对可以创建一个帮助类来为您执行 HTTP 请求 - 不幸的是,MS 没有工具可以做到这一点:)
【解决方案2】:

好吧,即使你想抽象也没有任何用处。所有 Rest 服务都可以使用 HTTP 动词,例如 GET、POST、PUT、DELETE

所以,基本上您的客户端可以拥有的只是一个静态类,它可以接受端点、网络凭据、需要传递的名称值集合和要使用的动词。

这更像是一个实用程序类而不是客户端。

我不记得看到过 WSDL 或某些合同,我们可以根据这些合同为 REST 服务编写客户端。

【讨论】:

  • 当我说一个客户端时,可能是错误的术语,但它是这个静态类,我想知道一个为不同平台生成的工具。您可以明显地为请求提供数据,并且在序列化之前,强类型对象非常用户友好
  • 好吧,您可以在所有类型上实现一个接口,该接口将返回您可以在 webrequest 中使用的类型的字节数据。
  • "只能使用 4 个动词" - 我不太确定这是否 100% 正确,任何使用动词系统的系统都是 RESTful,例如 WebDAV 添加了 LOCK 和 MOVE 动词。原理是一样的。
  • @gbjbaanb - 更新了我的答案。
【解决方案3】:

我希望您不要花费太多时间将代码基于预发布代码的当前帮助页面。您是否确定此帮助页面提供了产生客户所需的所有信息?

另外,您看过 WCF REST Starter 工具包的 Prerelease 2 吗?如果没有,你去看看。那里有新的客户端技术。

【讨论】:

  • 是的,使用 pore release 2 并且帮助页面只是一个带有 XSLT 样式表的 XML 页面。他们已经介绍了很多细节,并声称他们希望在不久的将来将其纳入框架。我正在制作第二个预发布版,是的。谢谢
【解决方案4】:

我想您可能正在寻找WebChannelFactory。它可以生成基于 WCF 属性的 REST 接口的通道类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 2013-07-17
    • 1970-01-01
    • 2011-05-06
    • 2011-06-29
    • 1970-01-01
    • 2011-04-18
    相关资源
    最近更新 更多