如果我可以使用Webservices 2.0客户端,那么WCF客户端的优势是什么?

时间:2012-01-23 12:45:19

标签: c# wcf web-services mono

最近,我们公司的API引入了几个WCF服务。 Windows的示例实现使用Visual Studio 2010生成的代理代码(完整的WCF客户端或Silverlight代码)。一切都很好看。

然后我发现也可以让Studio生成一个Webservices 2.0客户端代码代理,我能说什么:

  • 它的工作方式与WCF客户端一样好
  • 它也返回真实对象,就像WCF
  • 一样
  • 它也使用SOAP

本机WCF客户端的区别/优势究竟是什么?

请注意,我对客户端特别感兴趣。服务器端是一个不同的故事。关键是:如果Web服务客户端代码运行良好,为什么我会使用WCF客户端代码连接到WCF服务器?

我还可以问一下MONO:Mono中的WCF支持远非完美,而WebServices 2.0也很好。因此,在与WCF战斗一段时间后,我切换回WS 2.0客户端代码代理并且到目前为止还没有发现任何问题。有什么问题我不得不期待吗?

2 个答案:

答案 0 :(得分:4)

灵活性。

今天,您通过HTTP访问该服务。明天,你可能想要添加一些持久性并通过MSMQ命中它。使用WCF进行配置更改 - 使用Webservice客户端代码,您将完全重写代码区域。

答案 1 :(得分:3)

另一个好处是能够打开跟踪,消息记录和诊断,只需更改配置。

请参阅Administration and Diagnostics,其中包含

  

WCF提供的诊断功能

     

WCF提供以下诊断功能:

     
      
  • 端到端跟踪提供用于在不使用调试器的情况下对应用程序进行故障排除的检测数据。 WCF输出   过程里程碑的跟踪以及错误消息。这个可以   包括打开渠道工厂或发送和接收消息   服务主机。可以为正在运行的应用程序启用跟踪   监督其进展。有关更多信息,请参阅Tracing主题。至   了解如何使用跟踪来调试应用程序,请参阅   Using Tracing to Troubleshoot Your Application主题。

  •   
  • 消息记录允许您查看消息在传输之前和之后的显示方式。有关详细信息,请参阅Message Logging   主题。

  •   
  • 事件跟踪会在事件日志中写入任何主要问题的事件。然后,您可以使用事件查看器检查任何异常情况。对于   有关详细信息,请参阅Event Logging主题。

  •   
  • 通过性能监视器公开的性能计数器使您可以监视应用程序和系统的运行状况。更多   有关信息,请参阅WCF Performance Counters主题。

  •