我有一个现有的.NET框架WCF服务,它返回使用NetDataContractSerializer序列化的数据,这是由各种.NET框架客户端使用的。
我现在想要编写一个新的客户端应用程序,它也将使用它,但我的新客户端将是用.NET核心编写的。
Windows Compatibility Pack for WCF提供了使用.NET服务所需的大多数API,但是似乎缺少这个关键的NetDataContractSerializer类。
有没有办法将这些数据反序列化到.NET核心应用程序中?类型本身位于一个共享的.NET框架程序集中,该程序集恰好与.NET标准兼容,因此可以将其加载到.NET核心应用程序中。
发布于 2018-11-05 07:36:10
这似乎是不可能的,因此我在.NET核心github上打开了这个问题来跟踪这个功能:
发布于 2019-08-30 04:41:42
虽然NetDataContractSerializer在.Net内核中不可用,但您可以尝试此NetDataContractSerializer library端口。这是几乎完整的.Net框架System.Runtime.Serialization库的.Net核心移植。
发布于 2018-10-26 17:51:23
如您所知,DotnetCore不支持NetdataContractSerializer类。https://docs.microsoft.com/en-us/dotnet/api/system.runtime.serialization.netdatacontractserializer?view=netframework-4.7.2
DataContractSerializer由dotnetcore支持,我们可以使用ReadObject方法来读取流并返回反序列化的对象。
Product p1 = (Product)serializer1.ReadObject(ms);对于这些跨平台的项目,我建议您使用仅依赖于.Net标准的NewtonSoft.Json库。
https://stackoverflow.com/questions/53002135
复制相似问题