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

解决方案 »

  1.   

    WCF里要传递对象,需要对象实现ISerializable接口。Cookiecontainer没有实现这个接口所以你无法这么传递。
    可以考虑序列化其为二进制数组,然后在通信的时候用二进制数组作为接口形参。 public static byte[] SerializationBinary(object sender)
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    _format.Serialize(ms, sender);
                    byte[] b = new Byte[ms.Length];
                    ms.Position = 0;
                    ms.Read(b, 0, b.Length);
                    return b;
                }
            }
      

  2.   

    你可以考虑把cookiecontainer和别的参数组合在一起形成一个专用的通信实体,然后在二进制化它。