none
我尝试在WCF调用是参数使用Func<Annex, bool>出现错误。 RRS feed

  • 问题

  •               

    服务端

     public IEnumerable<DAL.Annex> GetAnnexs(Func<DAL.Annex, bool> func)
            {
                DAL.CRSoft6DustEntities context = new DAL.CRSoft6DustEntities();
                return context.Annex.Where(func);
            }

    客户端

     public List<Annex> GetAnnexs()
            {
                return _AnnexClient.GetAnnexs(x => x.Category == "");
            }

    出现下面的错误,一头雾水!

    尝试对参数 http://tempuri.org/ 进行序列化时出错: fuc。InnerException 消息是“不应为数据协定名称为“DelegateSerializationHolder.DelegateEntry:http://schemas.datacontract.org/2004/07/System”的类型“System.DelegateSerializationHolder+DelegateEntry”。请考虑使用 DataContractResolver,或将任何未知类型以静态方式添加到已知类型的列表。例如,可以使用 KnownTypeAttribute 特性,或者将未知类型添加到传递给 DataContractSerializer 的已知类型列表。”。有关详细信息,请参见 InnerException。

    2010年10月20日 7:33

答案

  • 看来是序列化的问题。

    你可以按照提示来尝试解决一下。

    请考虑使用 DataContractResolver,或将任何未知类型以静态方式添加到已知类型的列表。例如,可以使用 KnownTypeAttribute 特性,或者将未知类型添加到传递给 DataContractSerializer 的已知类型列表。”。有关详细信息,请参见 InnerException。


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    • 已标记为答案 超然 2010年10月22日 4:40
    2010年10月21日 2:32
    版主

全部回复