WCF知识点记录

1:WCF有两种序列化器,XmlSerializerDataContractSerializer,XmlSerializer能够直接对数据对象进行序列化输出,而DataContractSerializer则是按照特性进行序列化输出。
默认是采用的DataContractSerializer序列化器。

2:WCF基于TCP的端口共享是建立在Net.TCP端口共享服务上的,所有安装.net Framwork 3.0及以上的操作系统都具有该服务Net.Tcp Port Sharing Service.同时程序中需要指定Binding的PortSharingEnabled=true

3:客户端代理类的创建:第一种方式,可以同过ChannelFactory<TChannel>直接创建服务调用的代理对象。第二种方式,可以通过SvcUtil.exe工具导入服务的元数据生成相关的服务代理类(VS中添加服务引用)。

4:实例上下文InstanceContext:Per-Call,无论相同客户端还是不同客户端,都会创建一个新的实例上下文。Per-Session,每个客户端都对应一个实例上下文。Single,所有客户端都公用一个实例上下文。服务端采用何种实例上下文模式是服务自身的行为,与客户端无关。通过设置服务的InstanceContextMode来进行选择。

5:会话模式(SessionMode):Allowed,Required,NotAllowed,分别标识允许、强制、不允许。不同的实例上下文模式和不同的会话模式,会产生不同的调用结果。

原文地址:https://www.cnblogs.com/zhaiyf/p/8492739.html