【问题标题】:WCF Service Reference does not reuse types in existing assemblies (VS 2010 Beta 2)WCF 服务参考不重用现有程序集中的类型(VS 2010 Beta 2)
【发布时间】:2011-01-05 04:45:57
【问题描述】:

我正在寻找在 WCF 服务和客户端之间共享类型(实际类,而不是代理)的最佳方法。为此,我在服务和客户端都引用的单独程序集中定义了这些类。在客户端生成服务引用时,我选择了“在所有引用的程序集中重用类型”,但是 References.cs 是使用所有类的代理生成的。

这与this one 完全相同的问题,但我不知道如何实施公认的解决方案。一个区别是我使用的是 VS 2010 Beta 2。

导入完整的服务合同 代码形式

创建您自己的 ClientBase 派生类。真的很简单

假设这是最好的方法,我希望有一个很好的链接来介绍如何做到这一点。链接答案中概述的方法是最佳方法吗?

【问题讨论】:

    标签: wcf visual-studio-2010


    【解决方案1】:

    我在同一个步骤中做了两件事。不确定一个或两个是否解决了问题:

    1. 向共享程序集中的一个类添加了 [DataContract(Namespace="My.Shared.Assemblys.Namespace")]。
    2. 重启 VS 2010 Beta 2

    【讨论】:

    • 我今天在使用 VS2012 Update 1 时遇到了完全相同的问题。在多次更改 DataContracts 第一个之后,后来所有类型都不再重用。重启 VS 有帮助...
    • VS 2012 - 一个简单的重启为我修复了它
    • 与 VS 2010 Pro 相同
    • 对我来说,它是在 VS2013 中打开我的 VS2010 项目,然后“更新服务引用”。
    • 我突然遇到了重用问题,而使用相同类型的其他服务没有问题。显式命名空间帮助 - 谢谢!
    【解决方案2】:

    有同样的问题,但我忘记为客户构建带有 DataContracts 的程序集,因此它正在生成自己的合同。一旦我重建了程序集,它就会重用它们。

    【讨论】:

    • 重建引用的程序集+“更新服务参考”帮助!
    【解决方案3】:

    我对 VS2010 SP1 的问题是尝试使用从 Dictionary<T,U> 派生的类和 CollectionDataContract 属性。似乎 VS 不会重用该类型...我也尝试了 Eric 上面的建议,但没有奏效。

    【讨论】:

      猜你喜欢
      • 2010-12-24
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多