为什么DataSet可以远程发布而DataTable不行呢?

zhxtmail 2004-01-06 07:50:08
为什么DataSet可以远程发布而DataTable不行呢?
去看看帮助:
若要使其他应用程序域中的对象使用类的实例,该类必须从 MarshalByRefObject 继承
再去看看
System.Object
System.ComponentModel.MarshalByValueComponent
System.Data.DataColumn
System.Data.DataSet
System.Data.DataTable
System.Data.DataView
System.Data.DataViewManager
System.Web.Services.WebService
DataSet和DataTable从同一个父类继承下来啊,为什么只有DataSet可以远程发布访问呢?
...全文
97 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangsuipeng 2004-04-06
  • 打赏
  • 举报
回复
把datatable 放到DATASET里去
雪狼1234567 2004-04-06
  • 打赏
  • 举报
回复
如果想传datatable必须自己序列化,只有实现已经序列化接口的才可以传
tjq_tang 2004-04-06
  • 打赏
  • 举报
回复
DataSet本身返回值就是xml格式的文件流,说白了就是字符串。然而DataTable不是
比如下面的测试页说得很清楚
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://tempuri.org/">
<schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
jackyhzzjcn 2004-01-07
  • 打赏
  • 举报
回复
DataTable不能被序列化,就不能直接发布了,用DataSet即可。

具体可以查MSDN :)
henryfan1 2004-01-07
  • 打赏
  • 举报
回复
DataSet可以序列化,DataTable是不可以的。
速马 2004-01-07
  • 打赏
  • 举报
回复
Oops
测试失败
DataTable确实不行
速马 2004-01-07
  • 打赏
  • 举报
回复
MSDN:
[Serializable]
public class DataTable : MarshalByValueComponent, IListSource,
ISupportInitialize, ISerializable

咋个回事?
速马 2004-01-07
  • 打赏
  • 举报
回复
但是奇怪的是MSDN上是那么写着的,为啥没法序列化?
walkinhill 2004-01-06
  • 打赏
  • 举报
回复
打错了,应该是 ISeriablizable
walkinhill 2004-01-06
  • 打赏
  • 举报
回复
DataTable 不能序列化,当然不能远程发布访问(不能作为 Web Service 方法的返回值),要能作为 Web Service 的返回值,那么该类必须实现 ISeriable 接口,包括你自己定义的类也是如此。

你参考一下:序列化(ISeriable)的帮助吧
速马 2004-01-06
  • 打赏
  • 举报
回复
DataTable...好像是可以的吧?

12,163

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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