关于web service中对象的序列化!!!!!!

v41dugu 2007-03-27 06:22:16
我有一个自定义的类Company在一个dll中,这个类型我没有标记可序列化。
我的webService中有一个方法GetCompany 返回值是Company类型的 所以我在web service中引用了这个dll 我的客户端引用了这个web service 但是可以看到在web服务localhost下 多出了一个叫Company的类。
问题
1:
这个类是怎么多出来的?是代理类?
2:
为什么我的这个Company类并没有标记可序列化 ,却还可以做返回值类型?
3:
到底什么时候才需要用可序列化的类啊?

请详细讲解一下。。。。
...全文
490 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yan63 2007-03-28
  • 打赏
  • 举报
回复
1.当你的webservice使用Company做返回值,webservice的wsdl就会记载Company的定义
而客户端根据wsdl的定义,在客户端本地编译成生Company的代理类使用
2.Company的属性为简单类型或可序列化类型即可,不必标记serializable
3.serializable用来标记类型可序列化,可由IFormater提供默认的序列化方案,在一些rpc的场合用得比较多,如MarshalByRefObject,如果要实现自定义的序列化,可以实现ISerializable接口
yan63 2007-03-28
  • 打赏
  • 举报
回复
webservice使用xmlserializer来解析xml文档,传输数据
serializableAttribute用来标记类型可以被序列化,可能是binary,也可能是soap或自己实现iserializable接口控制最终的数据载体
v41dugu 2007-03-28
  • 打赏
  • 举报
回复
2.Company的属性为简单类型或可序列化类型即可,不必标记serializable

////////////////////////////////////////////////////////


那请问什么才是你所说的 需要标记serializable的类型呢?

12,162

社区成员

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

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