通讯协议在网络编程中是很重要的一部分,大家对网络编程感兴趣的朋友可以上网多收集一些资料,在这里我只能说说关于WCF通讯协议方面的知识,以后还会为大家介绍更多WCF相关知识。客户端通过发送和接收消息与服务进行交互。消息可以从客户端直接或经中介传输到服务。在WCF中,所有的消息都是SOAP消息。注意,这些消息独立于传输协议——不象Web服务,WCF服务可以通过多种传输协议进行通讯,而不仅是HTTP。
#T#在WCF中,客户端从不直接与服务进行交互,即使在当处理一个本地的内存中服务时。而是,客户端总是使用一个代理来把该调用转发给服务。WCF通讯允许客户端跨越所有执行边界与服务进行通讯。在同一台计算机上(见图1),客户端可以跨越同一进程中的应用程序域或进程来消费同一个应用程序域中的服务。通过跨越计算机边界(图2),客户端能够在企业内网或跨越因特网与服务进行交互。
图1.跨机器通讯:这里是一个跨机器使用WCF通讯的例子。
图2.使用WCF在同一台机器上通讯。
因为所有的交互是经由一个代理实现的,所以对于本地和远程情况下,WCF保持相同的编程模型,这样以来不仅能够使你进行位置切换而不影响客户端,而且显著地简化应用程序编程模型。大多数WCF功能被包括到位于System.ServiceModel命名空间的单个的程序集 System.ServiceModel.dll中。