webservice dataset传输过程中datetime问题(难度比较大)

linyixiang 2010-04-09 01:37:28
哪个个高手能不能解析一下这个原因是怎么产生的
开发模式:客户端+webservice
在本机环境系统,没有问题。部署到服务器那边就出问题了
原因是:
webservice: 由于数据量大,传输过程把dataset转换为序列化为流压缩进行传输,
在web 端: 在反序列化时候,将流反序列化为dataset时候,将null反序列化为datetime时候,null被赋值成datetime最小值,元年 0001/1/1号;

注意这个过程反序列化为dateset,
反序列化这个组件总是通用的吧。用replace这个方案不可行,还有nullable类型也是不行,因为反序列化为dataset过程是系统自动执行的 BinaryFormatter;


主要我要知道那些环境因素产生这个问题;
哪个仁兄,master在哪里
...全文
147 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
linyixiang 2010-04-12
  • 打赏
  • 举报
回复
各位我现在是要找到导致这种情况的原因,原来可以现在不行了,本地测试服务器都可以,拿到正式服务器会出现这种问题,这种问题过程都说了啊!我能不能站出个master出来啊
特别 2010-04-10
  • 打赏
  • 举报
回复
既然这样,你碰到0001/1/1就当作null来使用就是了
特别安静 2010-04-10
  • 打赏
  • 举报
回复
人工智能算法 2010-04-10
  • 打赏
  • 举报
回复
在web 端: 在反序列化时候,将流反序列化为dataset时候,将null反序列化为datetime时候,null被赋值成datetime最小值,元年 0001/1/1号;



这个日期不可以吗? 什么样的格式才符合要求?
linyixiang 2010-04-10
  • 打赏
  • 举报
回复
不是什么对象,是一张报表。并且这个项目是老项目。很多东西不能改动,现在服务器部署突然发生这种情况,查很多资料,知道会产生这种情况但是不知道为什么产生
  • 打赏
  • 举报
回复
即使你不考虑跨平台与非.net软件通信,也要注意不要在设计中接触那些仅仅将属性地向定义为object类型的东西。尽可能明确定义它的类型。

如果你仅仅定义了object类型,那么转换自然是按照object来啦。
  • 打赏
  • 举报
回复
几乎从来不用dataset。

如果数据是什么类型对象,就传递什么对象的数组。
linyixiang 2010-04-10
  • 打赏
  • 举报
回复
数据量比较大,并且有安全行问题,xml字符串这个解决方案好么!
lvfeng180 2010-04-10
  • 打赏
  • 举报
回复
一般不传dataset, 传输xml格式的字符串
linyixiang 2010-04-10
  • 打赏
  • 举报
回复
传输过程中用zip压缩成byte[]数组进行传输,有没有人知道啊
codeingsky 2010-04-09
  • 打赏
  • 举报
回复
dataset?你是直接传递整个dataset?

建议传输XML格式比较好点,XML毕竟比较正统,跨语言接收比较通用。

尽量不要有空值节点

110,535

社区成员

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

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

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