【问题标题】:Portable class library for shared [DataContract] class共享 [DataContract] 类的可移植类库
【发布时间】:2011-11-25 14:37:42
【问题描述】:

这可能是一个非常简单的问题。我希望在 [DataContract] 类中创建一些代码,用于在 WCF 服务和消费应用程序之间传递信息。

我创建了一个新的可移植类库项目并在其中创建了我的 [DataContract] 类。这真的很简单——它有一些简单的属性(主要是字符串)。我在我的 WCF 服务中添加了对 DLL 的引用并重新发布了它。然后我从我的消费者项目中删除了服务引用并重新添加了它。它增加了很好,没有问题。

当我想实际使用它时,问题就来了。看,该类型称为“Eval”。一些 WCF 方法返回此“Eval”类型。所以我在服务参考的 Reference.cs 文件中有这个序列化版本的“Eval”。显然这不包含我正在寻找的方法,因为它只是序列化版本。我也可以将 dll 添加到客户端项目中,但是我在两个命名空间中有两个不同的 Eval 对象,并且只有来自 reference.cs 的一个是有效的,可以从服务调用中返回。

那么我该如何...呃...合并两者?那么从 WCF 服务调用返回的 Eval 对象也可以访问相关方法吗?

感谢您的阅读,并在这些道路上保持安全。

【问题讨论】:

    标签: c# wcf


    【解决方案1】:

    生成服务引用时,您可以指定应重用哪些类以及应从服务生成哪些类

    【讨论】:

    • 您好。我可能有点密集,但你能详细说明一下吗?我的意思是我知道你所说的可以从服务中重用 dll 的部分,但我不确定具体该怎么做。我确实有一个用于“EvalPortableClassLibrary”(项目名称)的复选框。我假设因为默认是重用所有,我想勾选除 EvalPortableClassLibrary 之外的所有。如果我这样做,它仍然会在 References.cs 中为我提供一个公共部分类 Eval,它用作 Eval 的默认用法。我是不是误会了?
    • 删除您的参考并重新添加,不包括您的程序集。有时它不能正确更新参考
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    相关资源
    最近更新 更多