当前位置:编程学习 > C#/ASP.NET >>

输入流是无效的二进制格式。开始内容(以字节为单位.................,这个是不是.net2.o的Bug?

两过程函数如下:

   //取单个DataSet
        public DataSet rptGetSingleDataSet(string connectionString, string sProcName, string[] sParamName, int[] iDbType, int[] iSize, object[] Value, string srcTable)
        {
            return Acess.rptGetSingleDataSet(connectionString,sProcName,sParamName,iDbType,iSize,Value,srcTable);
        }
        //取主从DataSet
        public DataSet rptMutilDataSet(string connectionString, string sMasterProcName, string[] sMasterParamName,
         int[] iMasterDbType, int[] iMasterSize, string[] MasterValue, string srcMasterTable, string sDetailProcName,
        string[] sDetailParamName, int[] iDetailDbType, int[] iDetailSize, string[] DetailValue, string srcDetailTable, string[] sRelation, string sRelationName)
        {
        
            return Acess.rptMutilDataSet(connectionString, sMasterProcName, sMasterParamName, iMasterDbType, iMasterSize, MasterValue, srcMasterTable,
                sDetailProcName, sDetailParamName, iDetailDbType, iDetailSize, DetailValue, srcDetailTable, sRelation, sRelationName);
        }

调用第一个方法,OK,调用第二个方法时确出现如下错误:
未处理 System.Runtime.Serialization.SerializationException
  Message="输入流是无效的二进制格式。开始内容(以字节为单位)是: 3C-3F-78-6D-6C-20-76-65-72-73-69-6F-6E-3D-22-31-2E..."
  Source="mscorlib" 
请高手指教?
如果我不采用remoting远程调用,第二个方法返回值没有任何问题! --------------------编程问答-------------------- 我分析了一下,这两个方法,只是参数多少的问题,没有任何区别,难道C#参数多了,类型多了,就不能序列化?,只支持简单一些数据序列化吗?遇到多几个数组就搞不定? --------------------编程问答-------------------- 这么久都没有回复,难道没人能解决该问题?

我单独的去序列化每个参数,序列化没有问题,序列化如下:
Stream stream = File.Create("example.xml");
            SoapFormatter formatter = new SoapFormatter();
            formatter.Serialize(stream,connectionString);
            formatter.Serialize(stream, sMasterProcName);
            formatter.Serialize(stream, sMasterParamName);
            formatter.Serialize(stream, iMasterDbType);
            formatter.Serialize(stream, iMasterSize);
            formatter.Serialize(stream, MasterValue);
            formatter.Serialize(stream, srcDetailTable);
            formatter.Serialize(stream, sDetailProcName);
            formatter.Serialize(stream, sDetailParamName);
            formatter.Serialize(stream, iDetailDbType);
            formatter.Serialize(stream, iDetailSize);
            formatter.Serialize(stream, DetailValue);
            formatter.Serialize(stream, srcDetailTable);
            formatter.Serialize(stream, sRelation);
            formatter.Serialize(stream, sRelationName);
为何调用该法返回Datataset时确出现莫明其妙的输入的流是无效的二进制格式,那位能士可解偶的问题! --------------------编程问答-------------------- CSDN的高手在那儿,难道山中无大王呼? --------------------编程问答-------------------- 偶也是似乎的问题,郁闷 --------------------编程问答-------------------- 你的这个问题解决了没有?
我现在也碰到了这个问题,着急啊! --------------------编程问答-------------------- 此问题已解决,后来我他细检查了一下,在该接口实例化的过程中,由于他是函数,不是过程,需要有返回值,所以出错,后来改过,就OK啦!不知道上面的楼主是不是也是这个原因,可以贴出代码,偶可以分析分析...... --------------------编程问答-------------------- hehe,dingnigefei --------------------编程问答-------------------- 那么久了......我也遇到这个问题啊,求解啊
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,