1.WCF
应该是微软一系列原有的技术整合
Web Services+WSE+MSMQ+.NET Remoting
解决分布式系统开发中的性能、安全、事务、事件队列一系列的技术问题
2.WCF创建
面向接口编程,先创建IService接口,再创建类Service实现该接口,对于接口
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);
}
对于类,[DataContract],属性[DataMember](实际这里和前面学过的将对象序列化成JSON类似)
3.WCF请求模式
(1)默认基于请求/答复模式(指基于HTTP协议??),必须等回复收到,才继续执行代码;
(2)可以将方法加上单向,但方法必须是void类型;IsOneWay=true,程序只管执行,单工模式
(3)如果是双工模式,相当于一个会话模式,SessionMode = SessionMode.Required ,每个会话中实例一次:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)],在服务器端定义回调接口,接口必须也是
[OperationContract],客户端以一个回调类实现相应的接口方法
(4)out和ref关键字也可用在请求/答复模式,但不能用于单工模式
这个图不错:
有个服务查看工具:C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SvcTraceViewer.exe