这是我关于stackoverflow的第一个问题。
我读过很多文章说开发人员应该使用 WCF 而不是 Web 服务,因为它可以托管在不同的托管环境等...
但我想的是,我可以使用 HttpRequest 从任何项目中调用 Web 服务。那么为什么我必须使用 WCF。
这是我关于stackoverflow的第一个问题。
我读过很多文章说开发人员应该使用 WCF 而不是 Web 服务,因为它可以托管在不同的托管环境等...
但我想的是,我可以使用 HttpRequest 从任何项目中调用 Web 服务。那么为什么我必须使用 WCF。
使用 WCF,开箱即用的绑定是BasicHttpBinding
SOAP,与 .asmx Web 服务相同。作为客户端,您仍然可以以与访问 .asmx 服务完全相同的方式访问它——通过从 WSDL 生成代理,或正常HttpWebRequest
或您以前使用的任何方式。
好处是您使用 WCF 获得的所有其他选项,例如安全性、不同绑定的可能性、独立托管等等。此外,这是 .NET 社区选择的方向,因此如果您想在基于 .NET 服务的世界中保持相关性,则需要学习它。
WCF 比 ASMX Web 服务要多得多。如果 ASMX Web 服务满足您的需求,那么使用它就可以了,但是您可能会发现使用 WCF 比使用 ASMX Web 服务更容易解决一些问题。您还可以使用 WCF 完成许多使用 ASMX Web 服务无法完成的事情(请记住,它是一个框架,而不仅仅是一种创建 Web 服务的方式)。
创建 WCF 服务而不是 ASMX Web 服务,即使它们用于相同的目的,这似乎增加了复杂性而没有额外的好处,但这是开始学习 WCF 的好方法。
您不必使用 Windows Communication Foundation。它最终将是你的选择。此外,该项目可能有助于满足您的需求。
但是,您使用 Windows Communication Foundation 的主要原因如下:
这些是一些关键,最重要的是它的设计可以节省开发人员在基于 Web 的通信中的时间。它也是一种为完全敏捷的应用程序带来面向服务的架构的方法。
另一个重要的注意事项是要意识到微软对标准 Web 服务的支持有限。现在他们已经实现了 WCF 技术。
希望这会有所帮助。