【问题标题】:REST vs SOAP WCF Service - is there a downside for using bothREST 与 SOAP WCF 服务 - 两者都使用有缺点吗
【发布时间】:2016-10-30 04:32:24
【问题描述】:

在开发 WCF 服务时,我最初计划使用 REST,但后来发现它将使用 SOAP 调用。我用 SOAP OperationalContract 和 REST WebInvoke 装饰了我的方法,但只创建了 SOAP 端点。

public interface IMyService
{

   [OperationContract]
   [WebInvoke(UriTemplate = "GetData/{ID}/{Name}", Method = "GET",
    ResponseFormat = WebMessageFormat.Json,
    RequestFormat = WebMessageFormat.Json,
    BodyStyle = WebMessageBodyStyle.WrappedRequest)]
   string GetData(string ID, string Name);

}

我的问题是同时使用OperationalContract 和WebInvoke 可能会产生什么影响(如果有的话)?有缺点吗?

我是否应该保持原样,以防以后我可能需要添加一个 REST 端点?还是我应该删除WebInvoke?

【问题讨论】:

  • 不,没有缺点,除了您添加的代码可能永远不会使用。
  • @JericCruz 那个“重复”问题几乎与 OP 的要求无关。
  • @Tom Redfern,我在想,通过保留 REST 标头,我可以避免以后在有人想要 REST 而不是 SOAP 时修改代码。这样我就可以添加另一个端点。想要确保除了我保留额外的代码行之外没有任何问题
  • @Tom Redfem,您能否发表您的评论作为答案,以便我接受它

标签: c# rest wcf soap


【解决方案1】:

我的问题是同时使用这两种方法的可能影响是什么 OperationalContract 和 WebInvoke,如果有的话?有缺点吗?

不,没有缺点,除了您添加的代码可能永远不会使用。

另外,请注意,OperationContract 适用于所有 WCF 操作,而不仅仅是 SOAP 操作。 REST 也需要它。

【讨论】:

    猜你喜欢
    • 2010-09-16
    • 2013-01-24
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多