我很难理解如何准确地添加已知类型;对于 WCF,来自我的 wcf 外部的配置文件。我找到了一个如何设置配置文件的例子,但是,我对文件的设置方式有点困惑,我不确定我应该如何调用这个配置文件来加载服务我的 wcf 的已知类型。这是包含已知类型的配置文件的示例。
http://codeidol.com/csharp/wcf/Data-Contracts/Data-Contract-Hierarchy/
我对为什么必须添加 a 类型然后将另一种类型指定为刚刚添加的该类型的子类型感到困惑。在我看来,您只需添加“联系人”类型,指定其程序集;“主机”就是这样。为什么 knownType 元素标签跟在指定另一种类型的添加类型元素标签之后?另外,一旦我正确设置了配置文件,我何时以及如何从我的 wcf 调用它?任何援助将不胜感激。谢谢!
更新 1: **好的,这让我有更好的理解,谢谢。我确实尝试了你所说的,但没有找到 ServiceKnownTypes。我在 App.config 文件中唯一不同的是在我的服务和主机中,我没有任何 knownType type = "..." 来指定。这是我的一目了然。你知道我做错了什么吗?
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type = "Data,TestService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=57f2af9570299a17"/>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
很抱歉之前将此发布到评论部分,我希望这更清楚。**
更新2: 这是更接近我想要完成的事情。你觉得呢?你有没有什么想法?
http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/6b70e9f4-52bc-4fa9-a0ff-c0859e041e85?prof=required