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

haacat 2007-09-29 05:57:49
两过程函数如下:

//取单个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远程调用,第二个方法返回值没有任何问题!
...全文
3991 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
peipeiabc 2012-08-31
  • 打赏
  • 举报
回复
那么久了......我也遇到这个问题啊,求解啊
大光呢 2010-07-27
  • 打赏
  • 举报
回复
hehe,dingnigefei
haacat 2008-03-31
  • 打赏
  • 举报
回复
此问题已解决,后来我他细检查了一下,在该接口实例化的过程中,由于他是函数,不是过程,需要有返回值,所以出错,后来改过,就OK啦!不知道上面的楼主是不是也是这个原因,可以贴出代码,偶可以分析分析......
ioucxj 2008-03-20
  • 打赏
  • 举报
回复
你的这个问题解决了没有?
我现在也碰到了这个问题,着急啊!
bluewug 2007-11-24
  • 打赏
  • 举报
回复
偶也是似乎的问题,郁闷
haacat 2007-09-30
  • 打赏
  • 举报
回复
CSDN的高手在那儿,难道山中无大王呼?
haacat 2007-09-30
  • 打赏
  • 举报
回复
这么久都没有回复,难道没人能解决该问题?

我单独的去序列化每个参数,序列化没有问题,序列化如下:
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时确出现莫明其妙的输入的流是无效的二进制格式,那位能士可解偶的问题!
haacat 2007-09-29
  • 打赏
  • 举报
回复
我分析了一下,这两个方法,只是参数多少的问题,没有任何区别,难道C#参数多了,类型多了,就不能序列化?,只支持简单一些数据序列化吗?遇到多几个数组就搞不定?

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧