WCF的全称是:Windows Commnication Foundation.WCF,是微软对一系列产业标准定义的实现,是面向服务实现的比较好的途径。传统的三层结构模式一般为:数据访问层、业务逻辑层、客户层,但是这种模式下客户层与业务逻辑层的耦合较为紧密,而面向服务则使得客户层跟业务逻辑上实现松耦合。
地址
WCF的每个服务都需要有一个地址的,而且只能有一个,WCF支持多种传输:
1.HTTP
2.TCP
3.对等网
4.内部进程通信
5.MSMQ
契约
1.服务契约(Service Contract):定义客户端能够执行的服务操作。
2.数据契约(Data Contract):定义于服务交互的数据类型。
3.错误契约(Fault Contract):定义抛出的错误。
4.消息契约(Message Contract):定义直接与服务交互的消息。
服务契约是要广泛使用的,定义一个服务契约是很简单的,只是在一些服务接口上进行标识即可。
本文来自编程入门网:http://www.bianceng.cn/Programming/net/201201/33277.htm
地址
WCF的每个服务都需要有一个地址的,而且只能有一个,WCF支持多种传输:
1.HTTP
2.TCP
3.对等网
4.内部进程通信
5.MSMQ
通常的地址包括两个方面:1.服务位置、2.传输的协议。
如基于tcp的地址:net.tcp://localhost:8800/Henllyee.Service,在这里net.tcp就是传输的协议,而后面就是告诉服务的位置。
契约
WCF所有的服务都是公开为契约,当你使用这个服务是就比约遵循一定的契约。
契约的表示就像webservice里的表示,也是通过属性标签来标识的。WCF定义了四种契约类型:
1.服务契约(Service Contract):定义客户端能够执行的服务操作。
2.数据契约(Data Contract):定义于服务交互的数据类型。
3.错误契约(Fault Contract):定义抛出的错误。
4.消息契约(Message Contract):定义直接与服务交互的消息。
服务契约是要广泛使用的,定义一个服务契约是很简单的,只是在一些服务接口上进行标识即可。
namespace HenllyeeWCF.Service
{
[ServiceContract(Namespace="http://henllyee.cnblogs.com")]
public interface IHello
{
[OperationContract]
string SayHello(string strName);
}
public class Hello:IHello
{
public string SayHello(string strName)
{
return String.Format("{0} say hello at {1}", strName, DateTime.Now.ToString());
}
}
}
本文来自编程入门网:http://www.bianceng.cn/Programming/net/201201/33277.htm