为什么 WCF 类需要接口继承,而普通类不需要
本文关键字:不需要 接口 WCF 为什么 继承 | 更新日期: 2023-09-27 18:34:28
这段代码适用于普通类:
public interface IServiceBase
{
void BaseMethod();
}
public class ServiceBase : IServiceBase
{
public void BaseMethod() { }
}
public interface ITestService // : IServiceBase - it doesn't reqiure
// in plain classes but in WCF it does.
{
void TestMethod();
}
public class TestService : ServiceBase, ITestService
{
public void TestMethod() { }
}
class Program
{
static void Main(string[] args)
{
var ts = new TestService();
ts.BaseMethod();
}
}
但在 WCF 上下文中,客户端看不到 BaseMethod,直到您从 IServiceBase 继承 ITestService:
public interface ITestService : IServiceBase
为什么?
我以为
TestService : ServiceBase
已经包括
TestService : IServiceBase
在普通类中是这样,但在 WCF 中不是。
我的问题不是这个问题 接口继承和派生类
因为 WCF 基于自动实现代理(在客户端(并确定服务公开的协定(接口(,而实现可能并且通常在不同的项目中。为作业(描述接口(使用正确的工具(接口(的基本设计原则。