RPC中的反序列化问题
RPC调用服务器端组件中的方法,传递一个DATATABLE对象,其中有个列为DECIMAL型,对应数据库(SQLSERVER2000)中为DECIMAL (9,2),当该列值为0.00001时,出现以下错误:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.FormatException: 输入字符串的格式不正确。
at System.Number.ParseDecimal(String s, NumberStyles style, NumberFormatInfo info)
at System.Decimal.Parse(String s, NumberStyles style, IFormatProvider provider)
at System.Xml.XmlConvert.ToDecimal(String s)
at System.Data.Common.DecimalStorage.ConvertXmlToObject(String s)
at System.Data.DataColumn.ConvertXmlToObject(String s)
at System.Data.XmlDataLoader.LoadData(DataRow& row, DataTable parentTable, Boolean[] foundColumns)
at System.Data.XmlDataLoader.LoadData(DataTable parentTable)
at System.Data.XmlDataLoader.LoadData(XmlReader reader)
at System.Data.DataSet.ReadXmlDiffgram(XmlReader reader)
at System.Data.DataSet.ReadXml(XmlReader reader, XmlReadMode mode)
at System.Data.DataTable..ctor(SerializationInfo info, StreamingContext context)
--- 内部异常堆栈跟踪的结尾 ---
问题是:
如果换成1.00001或者0.0001就可以,而且System.Number.ParseDecimal(String s, NumberStyles style, NumberFormatInfo info)在帮助文件中又找不到
我想估计是传递的NumberStyles有问题
请各位高手赐教!