WCF Expose继承类

时间:2012-01-26 02:01:23

标签: c# wcf .net-4.0

为什么在使用此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中构建。

请帮助,提前致谢。

1 个答案:

答案 0 :(得分:2)

ExposeMe不是服务合同的一部分。如果您希望能够在客户端应用程序中调用它,则必须在合同界面IMyService中定义它。

让您的服务类(MyService)继承自DataContract有点奇怪。这没有任何意义。 DataContact类是可以与客户端通信的类(例如,通过从服务操作返回它们)。 MyService类只是服务合同的实现 - 客户端无法看到它。

相关问题