serialization - 如何使用 WCF 将派生类型序列化为其基类型

标签 serialization wcf datacontractserializer datacontract

我有一个公共(public)库,里面有一些对象。然后我有一个服务项目,它引用公共(public)库并从公共(public)库中的对象创建一些派生类型。

我希望我的服务将派生类型序列化为公共(public)库中定义的基本类型。

我不能在公共(public)库中的对象上使用 KnownTypes,因为我不希望公共(public)库引用服务程序集。

那么如何让 wcf 将派生类型序列化为它们的基本类型呢?

我希望我能做类似的事情......

[DataContract(SerializeAsType = typeof(BaseType))]
公共(public)类 DerivedType : BaseType
{
}

这样的事情可能吗?

最佳答案

我们刚刚通过设置继承类 [DataContract(Name="BaseClass")] 来“解决”这个问题。即使继承的类是内部的并且在另一个项目中定义,它也可以工作。

希望能帮助到你。

关于serialization - 如何使用 WCF 将派生类型序列化为其基类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4140920/

相关文章:

java - 无法使用 Protocol Buffer 3.1.0 进行编译

c# - 在接口(interface)中定义序列化数据成员,然后在实现所述接口(interface)的类中使用它

java - Jackson 的 @JSONView 的 Scala 等效代码

java - 使用 Google 云端点进行数据传输优化

asp.net - wcf wsDualHttpBinding ASP.NET 页面和 Web 服务之间的安全问题

visual-studio - 具有 SSL 和用户名/密码身份验证的 WCF 客户端

.net-3.5 - DataContractSerializer:处理您不知道且无权访问其类型的对象

json - 通过 SSL 使用 JSONP 的 WCF 服务

c# - Json 返回列表中的列表

c# - 使用 DataContractSerializer 序列化时删除已知类型的命名空间