【发布时间】: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,您能否发表您的评论作为答案,以便我接受它