我有像这样的WCF设置
[ServiceContract]
public interface A {
[OperationContract( Name = "Log_1" )]
void Log( AuthTicket authTicket, string message );
}
[ServiceContract]
public interface B : A {
[OperationContract( Name = "Log_2" )]
void Log( AuthTicket authTicket, LogLevel level, string message );
}
在我的代理类中,我可以毫无问题地调用B.Log()。 Intellisense看到A.Log(),但在运行时我调用它时会遇到异常:
此代理不支持方法日志,如果是,则会发生这种情况 方法没有标记OperationContractAttribute或者如果是 接口类型未标记ServiceContractAttribute。
为什么我的代理不能“看到”A.Log()重载?如果我将A.Log()的声明移动到接口B,它可以工作,所以它不仅仅是命名冲突。