首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NetDataContractSerializer会在客户端抛出异常

使用NetDataContractSerializer会在客户端抛出异常
EN

Stack Overflow用户
提问于 2009-10-14 11:08:38
回答 1查看 1.4K关注 0票数 1

我已经尝试使用本文中的代码将WCF迁移到NetDataContractSerializer:http://lunaverse.wordpress.com/2007/05/09/remoting-using-wcf-and-nhibernate

并在客户端添加以下代码:

代码语言:javascript
复制
    foreach (OperationDescription desc in factory.Endpoint.Contract.Operations)
    {
        DataContractSerializerOperationBehavior dcsOperationBehavior = desc.Behaviors.Find<DataContractSerializerOperationBehavior>();
        if (dcsOperationBehavior != null)
        {
            int idx = desc.Behaviors.IndexOf(dcsOperationBehavior);
            desc.Behaviors.Remove(dcsOperationBehavior);
            desc.Behaviors.Insert(idx, new NetDataContractOperationBehavior(desc));
            //return true;

        }               
    }

但是每次我调用我的列表调用时,我都会得到这样的异常:

格式化程序在尝试反序列化消息时引发异常:尝试反序列化参数http://tempuri.org/:ListResult时出错。反序列化程序无法加载要反序列化的类型,因为在程序集中找不到类型'System.Collections.Generic.List`1[MYPROJ.Framework.Entities.EntityBase,MYPROJ.Framework.Entities,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null]。检查正在序列化的类型与正在反序列化的类型是否具有相同的协定,以及是否使用了相同的程序集。更多详情请查看InnerException。

InnerExcption:

反序列化程序无法加载要反序列化的类型,因为在程序集‘'System.Collections.Generic.List`1[MYPROJ.Framework.Entities.EntityBase,MYPROJ.Framework.Entities,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089’中找不到类型‘System.Collections.Generic.List`1[MYPROJ.Framework.Entities.EntityBase,MYPROJ.Framework.Entities,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null。检查正在序列化的类型与正在反序列化的类型是否具有相同的协定,以及是否使用了相同的程序集。

代理是使用带有以下标志的svcutils生成的: /ct:System.Collections.Generic.List`1,因此另一端的列表不会转换为数组。

反序列器查找的类型是在服务器中定义的。所有实体都派生自此类型,但这不是驻留在客户端的代理的名称空间。

使用WCF的常规默认序列化程序工作得很好(还有其他涉及处理循环引用的问题,这导致我尝试使用不同的序列化程序)。有什么想法吗?

谢谢,丹妮

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-16 14:43:33

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/433ba785-581c-4dfa-861a-f22574c1b463

这篇文章说NetDataContract不支持svcutil生成的代理,你必须使用共享dll。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1565632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档