3

这是我关于stackoverflow的第一个问题。

我读过很多文章说开发人员应该使用 WCF 而不是 Web 服务,因为它可以托管在不同的托管环境等...

但我想的是,我可以使用 HttpRequest 从任何项目中调用 Web 服务。那么为什么我必须使用 WCF。

4

3 回答 3

2

使用 WCF,开箱即用的绑定是BasicHttpBindingSOAP,与 .asmx Web 服务相同。作为客户端,您仍然可以以与访问 .asmx 服务完全相同的方式访问它——通过从 WSDL 生成代理,或正常HttpWebRequest或您以前使用的任何方式。

好处是您使用 WCF 获得的所有其他选项,例如安全性、不同绑定的可能性、独立托管等等。此外,这是 .NET 社区选择的方向,因此如果您想在基于 .NET 服务的世界中保持相关性,则需要学习它。

于 2013-03-11T17:43:57.917 回答
1

WCF 比 ASMX Web 服务要多得多。如果 ASMX Web 服务满足您的需求,那么使用它就可以了,但是您可能会发现使用 WCF 比使用 ASMX Web 服务更容易解决一些问题。您还可以使用 WCF 完成许多使用 ASMX Web 服务无法完成的事情(请记住,它是一个框架,而不仅仅是一种创建 Web 服务的方式)。

创建 WCF 服务而不是 ASMX Web 服务,即使它们用于相同的目的,这似乎增加了复杂性而没有额外的好处,但这是开始学习 WCF 的好方法。

于 2013-03-11T17:44:23.947 回答
0

您不必使用 Windows Communication Foundation。它最终将是你的选择。此外,该项目可能有助于满足您的需求。

但是,您使用 Windows Communication Foundation 的主要原因如下:

  • 提供跨多个平台的各种通信:HTTP、HTTPS、TCP、MSMQ 等。
  • 它提供了额外的安全性。
  • 它有更好的序列化和反序列化手段。
  • 它提供了更多的代码重用性。
  • 不同形式的托管。

这些是一些关键,最重要的是它的设计可以节省开发人员在基于 Web 的通信中的时间。它也是一种为完全敏捷的应用程序带来面向服务的架构的方法。

另一个重要的注意事项是要意识到微软对标准 Web 服务的支持有限。现在他们已经实现了 WCF 技术。

希望这会有所帮助。

于 2013-03-11T17:45:59.033 回答