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