为什么在使用此WCF服务类时未公开Inherited Class?
[ServiceContract]
public interface IMyService
{
[OperationContract] void DoSomething();
}
[DataContract]
public abstract class InheritMe
{
[DataMember] public int ExposeMe { get; set; }
}
public class MyService : InheritMe, IMyService
{
public void DoSomething() { }
}
我的代码在C#中,在Framework 4中,在Visual Studio 2010 Pro中构建。
请帮助,提前致谢。
答案 0 :(得分:2)
ExposeMe
不是服务合同的一部分。如果您希望能够在客户端应用程序中调用它,则必须在合同界面IMyService
中定义它。
让您的服务类(MyService
)继承自DataContract
有点奇怪。这没有任何意义。 DataContact
类是可以与客户端通信的类(例如,通过从服务操作返回它们)。
MyService
类只是服务合同的实现 - 客户端无法看到它。