我正在使用由第三方开发的网络服务,我发现其行为存在一些差异,具体取决于我将其添加到VS项目的方式:Add Service Reference
或Add Web Reference
。
根据我的研究,Add Service Reference
添加的服务更新,适合WCF服务。由于我不知道我尝试与之交互的是哪种服务,有没有办法让我知道哪种服务是更好的添加方式?
当我按Add Web Reference
添加时,我的行为会更好一些,因此我很想将它用于每项服务,但我真的不知道。
注意:我也检查了this post。
答案 0 :(得分:1)
Check link here. 我认为这已在链接中得到解答。
Web引用允许您基于实现WS-I Basic Profile 1.1的任何技术与任何服务进行通信,并将相关元数据公开为WSDL。在内部,它使用客户端的ASMX通信堆栈。
服务引用允许您基于任何实现WCF支持的许多协议(包括但不限于WS-I Basic Profile)的技术与任何服务进行通信。在内部,它使用客户端的WCF通信堆栈。
请注意,这两个定义都非常广泛,并且都包含不是用.NET编写的服务。
只要WCF端点使用basicHttpBinding或某些兼容的自定义变体,就完全可以(尽管不推荐)添加指向WCF服务的Web引用。
还可以添加指向ASMX服务的服务引用。在编写新代码时,您应该始终使用服务引用,因为它更灵活且面向未来。