从WCF客户端调用WebAPI

时间:2019-06-10 17:37:18

标签: wcf asp.net-web-api

我在生产中拥有WCF服务,该服务是几年前建立的。我正在将其重写为WebAPI,是否有一种更简单的方法让我的客户端(wcf客户端,这些是外部的)可以使用API​​,而不必重写客户端代码。我正在考虑更改WCF代理中的基址。

1 个答案:

答案 0 :(得分:0)

WCF支持许多传输协议,而不仅仅是HTTP。因此,如果服务使用非HTTP传输(TCP,命名管道),则必须重写客户端以反映该情况。不幸的是,即使WCF服务是基于HTTP的,也有可能需要重写它们。大多数WCF HTTP服务使用SOAP,因此是基于XML的。 Web API服务应为RESTful,并且通常也使用JSON作为消息格式,尽管也支持XML。即使两个服务都使用XML作为消息格式,WCF服务客户端可能也会生成SOAP消息这一事实也意味着您将不得不在Web API环境中进行大量的反序列化和序列化XML工作,以避免不得不重写客户(并且在转移到Web API时损失了很多价值)。底线是,考虑到各个消息格式不同的可能性,您将不得不重写客户端。