http://bbs.csdn.net/topics/350045574
http://social.msdn.microsoft.com/Forums/vstudio/en-US/93882290-e6a1-4342-9ee6-b5a3ac5ad250/unmanaged-client-for-wcf-service?forum=vcgeneral
http://social.msdn.microsoft.com/Forums/en-US/33478d92-d3f6-4b07-9b9b-354e8dce5634/cwcf-servicecontract-?forum=wcfzhchs
http://blog.csdn.net/jaff20071234/article/details/5516634
他是soa面向服务编程的一种实现,和微软的webservice一样提高数据的交互,不过要高级很多,整合了很多msmq等等技术
用4+4+4+ABC来粗略记忆下几个比较重要的地方
一个普通的wcf解决方案有4个项目
契约contract,可以定义一些接口什么的
服务service,实现了契约的接口方法
宿主hosting,实现了服务的进程寄存,这样就可以让客户端来消费(即使用),利用配置文件可以更靠谱
客户端client,引用服务并使用
4种契约contract
服务契约;
数据契约;
消息契约;
错误契约
具体可以瞧瞧这篇文章:http://www.cnblogs.com/qiuwuyu/archive/2011/04/08/2008932.html
4种宿主hosting
自托管宿主;
Windows Services宿主;
IIS宿主;
WAS宿主
具体可以瞧瞧这篇文章:http://developer.51cto.com/art/201002/184555.htm
WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段。终结点(Endpoint)三要素ABC
Address地址
binding绑定
contract契约
最后可以去看看博客园里 蒋金南 和张逸的博客,之前收集的一些资料http://tommyhu.cn/wcf-xue-xi-zi-liao/
wcf技术框架是基于soa思想的具体实现,也谈soa和wcf
现在讲WCF的书和网上资料有很多,但大部分都是教我们如何使用WCF来创建面向服务的程序。实际上,WCF的编程模型是相当简单的,基本上上手非常的简单。WCF作为一种框架,简单易用的编程方式是一把双刃剑,一方面它让新手非常容易上手,但另一方面,过于简单的模型使得它的使用者不明白其中的细节,因此要用好它并不容易,比如很多时候我们写的WCF程序看起来服务,配置等等各方面都没有什么问题,却莫名其妙的不工作,往往要花很长时间去调试。如何创建高性能的WCF程序,如何快速有效的对WCF程序出现的各种,要求我们对WCF本身甚至SOA有着深入的理解,对WCF内部的工作原理有着一定的了解。这个系列,作者将对自己近段时间对WCF的学习做一个总结,与大家共享。
SOA的发展历程
WCF框架实际上可以看作是微软对SOA架构的一种实现,或者说WCF的存在让开发者更容易创建面向服务的程序。面向服务本身不是一种技术,而是设计和实现软件的一种架构方式。如果我们回顾软件编程的发展历史,不难发现SOA的提出和发展是一种必然。
自从第一个计算机程序诞生一来,软件编程的发展趋势,尤其是系统软件的发展趋势就是不断地解耦合,与硬件解耦合,比如高级编程语言的诞生使得大部分开发人员不需要关心CPU寄存器的分配,与平台解耦合,比如虚拟机的发明使得开发人员不需要关心系统调用,软件内部之间的解耦合,比如各种编程思想的发展。松耦合代表的是灵活性,可集成性,可扩展性和互操作性。当然,不是所有的程序都适合松散耦合的设计,比如在一些嵌入式设备上的开发,也不是说每个系统都要按照最高的松耦合标准来设计。但只要条件允许,我们就应该尽可能的进行松散耦合的设计。而计算机硬件性能的不断发展,也使得软件设计想着松散耦合的方向不断迈进,我们可能想象在早期的286机器上先运行虚拟机,然后再用虚拟机来运行软件的性能。迄今为止,SOA所倡导的理念使得我们可以设计出最为灵活和优雅的系统架构。现在我们就来回顾一下编程理念的发展历史,编程理念和计算机编程语言或者具体技术是两个概念,比如我们完全可以在面向过程语言上实践面向对象思想,但是语言的特性使得我们可以更好更方便的实践某一编程思想,所以C++我们将它称之为面向对象语言,因为使用它我们能方便地实践面向对象思想。这也是WCF和SOA的关系,使用WCF,我们可以方便地实践SOA的理念。
wcf是基于消息通信的,作为一个基本的通信单元,消息到底是什么东东,一起来看这篇文章!
前言:
上一篇(http://tommyhu.cn/wcf-xue-xi-zi-liao/)收集了一些wcf的资料,不知道大家有没有看,这篇主要是讲“4种wcf宿主使用实例代码”
以下文章引自(张逸:晴窗笔记或者http://www.agiledon.com/?page_id=316)感谢原作者的辛勤劳动!

图一 托管ServiceHost
WCF并不推荐在应用程序域中创建多个ServiceHost实例。如果要托管多个服务,完全可以在一个宿主中通过多个Endpoint公开多个WCF服务。由于应用程序域对安全进行了隔离,如果需要提供不同的安全上下文,则有必要创建多个ServiceHost实例。
WCF的典型宿主包括以下四种:
1、"Self-Hosting" in a Managed Application(自托管宿主)
2、Managed Windows Services(Windows Services宿主)
3、Internet Information Services(IIS宿主)
4、Windows Process Activation Service(WAS宿主)
以下将通过一个具体的实例分别介绍这几种宿主的托管方式及其相关的注意事项。在这样的一个实例中,我们定义了如下的服务契约:
namespace BruceZhang.WCF.DocumentsExplorerServiceContract
{
[ServiceContract]
public interface IDocumentsExplorerService
{
[OperationContract]
[FaultContract(typeof(DirectoryNotFoundException))]
DocumentList FetchDocuments(string homeDir);
[OperationContract]
Stream TransferDocument(Document document);
}
}
服务的实现则如下所示:
namespace BruceZhang.WCF.DocumentsExplorerServiceImplementation
{
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
public class DocumentsExplorerService : IDocumentsExplorerService
{
#region IDocumentsExplorerService Members
public DocumentList FetchDocuments(string homeDir)
{
//implementation code
}
public Stream TransferDocument(Document document)
{
//implementation code
}
#endregion
}
}
在服务契约的操作中,DocumentList与Document则为自己定义的数据契约:
namespace BruceZhang.WCF.DocumentsExplorerDataContract
{
[DataContract]
public class Document
{
//DataMembers
}
}
namespace BruceZhang.WCF.DocumentsExplorerDataContract
{
[KnownType(typeof(Document))]
[CollectionDataContract]
public class DocumentList:IList<Document>
{
//IList<Document> Methods
}
}
注意以上定义的服务契约、服务类与数据契约的命名空间。
Windows Communication Foundation is...a part of the .NET Framework that provides a unified programming model for rapidly building service-oriented applications that communicate across the web and the enterprise.
more:http://msdn.microsoft.com/en-us/netframework/aa663324
Windows Communication Foundation (WCF) allows extensive control over the messaging functions of an application. The topics in this section go into detail about the available features. For more information about basic programming, see Basic WCF Programming.
more:http://msdn.microsoft.com/en-us/library/bb412169.aspx

Windows Communication Foundation (WCF) 是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由 .NET Framework 3.0 开始引入,与 Windows Presentation Foundation 及 Windows Workflow Foundation 并行为新一代 Windows 操作系统以及 WinFX 的三个重大应用程序开发类库。在 .NET Framework 2.0 以及前版本中,微软发展了 Web Service (SOAP with HTTP communication),.NET Remoting (TCP/HTTP/Pipeline communication) 以及基础的 Winsock 等通信支持,由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如 .NET Remoting 可以开发 SOAP, HTTP 通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须要重新学习,让开发人员在使用中有许多不便。同时,面向服务架构 (Service-Oriented Architecture) 也开始盛行于软件工业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是 Windows Communication Foundation。
更多讯息访问百度百科:http://baike.baidu.com/view/1140438.htm