WCF是统一的编程模型用于开发连接系统。这意味着您使用单个框架来开发面向服务的解决方案。 WCF可以让你的服务实现相对不知道,并且不需要关心服务被客户使用和处理通信的情况。这使您可以采取不同的方式对服务实施进行披露,并以不同的方式对其进行配置,而无需接触您的服务实施。这是统一的部分。没有WCF,你必须熟悉一个特定的通信技术框架,比如ASP.NET asmx web服务,.NET远程处理,MSMQ等,通常这些框架强加于你的服务实现和爬行,例如使用WebMethod属性或必须从MarshallByRefObject对象中派生出来,你不能把你的服务实现并轻松地将它暴露在另一个通信栈中。如果我有一个增加了两个数字的服务,为什么不能轻易通过http或tcp暴露出来,而不必担心低级细节?这是您的帖子中关于绑定的问题。绑定允许您接受服务并对其进行配置,以便它可以通过使用不同编码的不同传输和协议进行展示,而不会触及您的服务实现。
是否曾经有一段时间我想使用传统的Web服务?
Web服务使用良好定义,接受和使用的标准,如HTTP和SOAP。因此,如果您希望您的服务被广泛的客户使用,那么您希望将您的服务作为Web服务公开。 WCF附带预先配置的绑定,允许您的服务轻松地作为Web服务公开:basicHttpBinding和wsHttpBinding。您也可能想要考虑RESTful服务,这是一种适合HTTP模型更自然的体系结构风格。 WCF支持REST的服务以及
,如果我用一个正常的 类试着跟网络/服务 参考,会发生什么?我知道这听起来很真实,这只是我在web服务中缺乏经验 。
WCF服务可以像ASP.NET asmx web服务一样为服务公开wsdl。您可以通过简单地将服务引用添加到客户端项目来生成客户端代理。还有一个名为svcutil的命令行工具,它也生成客户端代码,使您可以轻松与服务进行通信。客户端服务类基本上反映了服务接口。您为服务创建客户端代理的实例,然后像调用其他.NET对象一样简单地调用它的方法。在封面下,您的方法调用将转换为消息并通过电线发送到服务器。在服务器端,该消息将被分派到适当的服务方法。
我希望这会有所帮助。有很多在线内容,例如MSDN和第9频道上的视频,您可以查看。你越是重视它,并将自己暴露在它,更清晰的WCF将得到我肯定。此外,WCF是THE框架Microsoft建议在.NET中开发连接系统。其他技术ASP.NET asmx,WSE和.NET Remoting很可能仍然可用,但可能不会得到支持和进一步开发。
RESTful不应该是一个要求,它应该是这样的。螺丝肥皂。 – PositiveGuy 2013-10-01 21:54:55