客户端调用WCF的时候报上面的错误,WCF只能序列化基础的数据类型,不能直接序列化SqlParameter类型,需要使用自定义类,然后在WCF服务端转换的方式解决:
自定义类代码如下:
1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Data.SqlClient; 5 using System.Linq; 6 using System.Runtime.Serialization; 7 using System.Text; 8 using System.Threading.Tasks; 9 10 namespace CommonLib.CustomClass 11 { 12 /// <summary> 13 /// 方法标记为DataContract约束,属性标记为DataMember 14 /// </summary> 15 [Serializable] 16 [DataContract] 17 public class SetSqlParameter 18 { 19 #region 属性 20 21 /// <summary> 22 /// 参数名称 23 /// </summary> 24 [DataMember] 25 private string paraName = ""; 26 public string ParaName 27 { 28 get { return this.paraName; } 29 set { this.paraName = value; } 30 31 } 32 33 34 /// <summary> 35 /// 参数长度 36 /// </summary> 37 [DataMember] 38 private int paraLength = 0; 39 public int ParaLength 40 { 41 42 get { return