1

不久前,我通过这里的这个问题了解了“在引用的程序集中重用类型”WCF 选项。我们的目标是使用此选项在客户端和服务器之间共享一组类库;这些库实现了我们的业务对象模型,并且公开 WCF 服务的服务器和使用它们的客户端都需要使用它们。我们正在使用 .NET 4 和 Visual Studio 2010。

我们运行了一些测试场景,一切似乎都运行良好。但是,现在我们正处于产品开发的中途,我们发现 WCF 显然需要将共享类标记为可序列化。我们在初步测试中没有将它们标记为这样,并且一切正常,所以我很困惑为什么我们现在收到 WCF 错误,要求我们将它们标记为可序列化。从我读过的内容来看,它似乎与一些没有无参数构造函数的类有关,但我不确定这一点。

我的问题是:我们是否需要使我们的共享类可序列化,或者是否有解决方法?是否有任何最佳实践或众所周知的策略来准备类库以在 WCF 设置中在客户端和服务器之间共享?谢谢你。

4

1 回答 1

0

另一种选择是根本不使用 WSDL,而是通过将其添加为对客户端的引用来共享相同的 dll。查看您的代理代码 (reference.cs) 现在的样子。您可以保留特定的客户端类(从 ClientBase 继承),但主要代码在您的数据协定/可序列化类中,您可以通过添加 dll 引用获得。

于 2013-08-06T22:06:16.840 回答