本来要定义WebServices 方法返回一泛型接口集合IList,系统提示不能序列化泛型接口集合
12 list.Add(em1);
13 list.Add(em2);
14 return list;
15
参考了相关的资料,可以有两种解决办法,一:用List<>泛型集合替代IList<>泛型接口集合。
二.将List<>泛型集合序列化为二进制形式,进行传递。
32 list.Add(em1);
33 IFormatter formatter = new BinaryFormatter();
34 MemoryStream mStream = new MemoryStream();
35 byte[] bs;
36 if (list != null)
37 {
38 formatter.Serialize(mStream,list);
39 bs = mStream.ToArray();
40 }
41 else
42 {
43 bs = new byte[0];
44 }
45 return bs;
46
客户端反序列化代码
16
非泛型集合的IList接口进行传递时,只需在方法前标识[XmlInclude(typeof(类型)]即可。
12 result.Add(em);
13 }
14 return result;
15 }
16