最近在看web sevice 方面的东西,顺便看了下序列化,懂了不少啊 :

从MarshalByRefObject派生的类和有[Serializable]的类都可以跨越应用程序域作为参数传递。
从MarshalByRefObject派生的类按引用封送,有[Serializable]标志的类,按值封送。
如果此类即从MarshalByRefObject派生,也有[Serializable]标志也是按引用封送。

序列化有3种情况:

  1. 序列化为XML格式:
    在webservice里,写个web method,传个自定义类做参数,就是这种情况。系统会帮你搞定,把自定义的类转换为默认XML格式。
  2. 序列化为2进制:
    要加[Serializable]标志,可以把私有变量和公共变量都序列化。
  3. 序列化为soap格式:
    需要实现ISerializable接口,定义序列化函数ISerializable.GetObjectData,和还原序列化的构造函数。
    一个soap参数类的sample:
MarshalByRefObject和Serializable[Serializable]
MarshalByRefObject和Serializable    
public class serialze:ISerializable 
    }

 

 

相关文章:

  • 2021-12-12
  • 2021-05-23
  • 2021-09-24
  • 2021-06-16
猜你喜欢
  • 2022-12-23
  • 2021-07-05
  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2021-07-22
相关资源
相似解决方案