为什么WCF服务使用接口作为服务契约而不是抽象类?

fbh*_*dev 4 wcf web-services servicecontract

这是我在接受采访时被问到的一个问题.

创建WCF服务时,您将获得两个文件; "IService.cs"和"Service.cs".为什么它是实现接口的类而不是继承抽象类的类.不回复说你不能在抽象类上放置[servicecontract]属性.我知道你只能将它应用于接口,但为什么呢?

Joh*_*ers 6

可以实现多个接口.一个人只能继承一个抽象类.


Ric*_*lly 6

如果您将服务的实现指定为将客户端与服务紧密耦合的服务,则WCF会将客户端与服务完全分离.