WCF - 行为和合同之间的区别?

Cra*_*rze 15 wcf

在WCF中,行为合同之间有什么区别?从检查配置文件,两者似乎都指向服务功能的接口.为什么他们都需要?

Aar*_*ght 32

科尔的笔记版本:

  • 合同规定了哪些服务实际上做.换句话说,什么操作是有效的.

  • 端点指定一个实际的运行实例的服务.它是在Windows服务或IIS下执行的实际"服务" .

  • 服务行为定义端点如何与客户进行交互.安全性,并发性,缓存,日志记录等属性 - 这些都是行为的一部分.

  • 还有一个操作行为类似于服务行为,但仅在运行特定操作时应用.

有关更多信息,我建议您从WCF架构概述开始.


Lie*_*ers 8

答案有点迟了但是

  • 因为我目前正在努力解决两者之间的差异
  • 这是谷歌的第一批成果之一
  • 因为目前的答案并没有给啊哈时刻

下面简要介绍了什么为我带来了亮点(cudo's to Fred Yang)

服务合约

  • 影响客户端和服务器的行为
  • 可以适用于界面和类
  • 影响发出的WSDL

ServiceBehavior

  • 仅影响服务器的行为
  • 仅适用于类实现
  • 不会影响WSDL

ServiceContract到ServiceBehavior

在WCF中,ServiceContract属性会影响客户端和服务器的行为,而ServiceBehavior只会影响服务器的行为.ServiceContract可以同时应用于接口和类,但ServiceBehavior只能应用于类实现.ServiceContract影响发出的wsdl,但ServiceBehavior不会影响发出的wsdl.


Jay*_*Jay 7

契约接口 - 它定义了WCF服务公开的服务操作,它可能会或可能不会以1:1的比例与您的应用程序的未加修饰的代码接口相对应.

行为是主机上该接口的实现 - 对于所有意图和目的,"服务".