gpt4 book ai didi

基类上的 WCF 数据契约 knowntype

转载 作者:行者123 更新时间:2023-11-30 23:49:37 26 4
gpt4 key购买 nike

我在不需要了解任何其他项目的项目 (Comp.DataContracts) 中有一个数据契约(Contract)。我有引用 Comp.DataContracts 的 Comp.ProjA 并且有一个派生类,它只是帮助填充数据契约(Contract)的字段,但与数据契约(Contract)无关。我想告诉 channel 使用我的派生类型作为参数进行服务调用,但将其序列化为基本类型。

由于我不希望服务或数据契约(Contract)项目了解其他项目,我该怎么做?我可以明确告诉 datacontractserializer 序列化为基础而不是派生的吗?我总是可以求助于工厂来填充和返回正确的类型,但我希望不要这样做。

如果没有基类上的KnownType,我该如何做到这一点?想法?

最佳答案

如果基类型是具体的,则可以使用 IDataContractSurrogate 实现来序列化 Derived as Base 的所有实例。否则我认为不改 rebase 类添加 [KnownType] 或服务契约(Contract)添加 [ServiceKnownType] 是做不到的。

关于基类上的 WCF 数据契约 knowntype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6131589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com