【问题标题】:WCF reusing types with inheritance - cannot generate client codeWCF 通过继承重用类型 - 无法生成客户端代码
【发布时间】:2015-08-23 08:20:02
【问题描述】:

我刚刚在 Visual Studio 2013 中收到一条错误消息,指出“无法为服务引用生成代码”在将基类添加到我现有的几个后尝试更新我的服务引用时数据合同。对于我的服务,我生成了一个在客户端应用程序中引用的客户端数据协定程序集,以便我可以检查“在引用的程序集中重用类型”选项。这允许我在共享它们的多个服务之间共享数据协定类。

我发现了一些不必要地复制属性的数据协定,因此我创建了一个基类供它们继承。

[KnownType(typeof(MyClass1))]
[DataContract]
public class BaseClass
{
    public Guid ID {get; set;}
    public string Name {set; set;}
}

[DataContract]
public class MyClass1 : BaseClass

一旦我从基类继承,我的客户端应用程序就会出现错误,无法生成客户端代码,留下一个空的 Reference.cs 文件。

【问题讨论】:

    标签: .net wcf inheritance datacontract


    【解决方案1】:

    我最初将我的基类定义为抽象类,所以我首先删除了它。没有运气。我还尝试添加各种 KnownType 和 ServiceKnownType 属性,但没有成功。我认为这没有任何意义,所以我尝试重新启动 Visual Studio,然后更新服务引用。瞧!重新启动后它生成它很好。我希望这可以节省一些时间!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-11
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-05
      • 1970-01-01
      相关资源
      最近更新 更多