1. 程式人生 > >解決WebService 中泛型介面不能序列化問題

解決WebService 中泛型介面不能序列化問題


 1 ///<summary> 2 /// List泛型集合替代IList
 3 ///</summary> 4 ///<returns></returns> 5         [WebMethod]
 6 public List<Employee> GetEmployeeList()
 7         {
 8             IFormatter formatter =new SoapFormatter();
 9             MemoryStream mStream =new MemoryStream();
10 11             Employee em1 
=new Employee();
12             em1.EmployeeID =1;
13             em1.FirstName ="jack";
14             em1.LastName ="josn";
15             List<Employee> list =new List<Employee>();
16             list.Add(em1);
17 return list;
18         }
19 20 ///<summary>21 /// 以二進位制形式進行傳遞,客戶端需進行返序列化
22 ///</summary>
23 ///<returns></returns>24         [WebMethod]
25 publicbyte[] GetEmployeeListByteArray()
26         {
27             Employee em1 =new Employee();
28             em1.EmployeeID =1;
29             em1.FirstName ="jack";
30             em1.LastName ="josn";
31             IList<Employee> list 
=new List<Employee>();
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 else42             {
43                 bs =newbyte[0];
44             }
45 return bs; 
46