可序列化以序列化通过webservice发送的只读方法

时间:2010-05-13 15:31:32

标签: c#

我通过带有readonly方法的webservice发送一个对象。 我正在使用Iserializable接口,假设我不再需要无参数构造函数。这不是真的,我仍然不能通过电线发送我的对象。

public class Foo:  ISerializable
{
 public boolean IsBusy { get; private set;}
 protected Foo(SerializationInfo info, StreamingContext context) 
  {
this.IsBusy = info.GetBoolean("IsBusy");
 }
   void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
   {
 .AddValue("IsBusy", this.IsBusy);
  }

1 个答案:

答案 0 :(得分:0)

不太确定什么是只读方法。但ISerializable仅适用于二进制序列化。 Web服务使用XML序列化,需要无参数构造函数。

您可以使用的一个技巧是将其归因于客户端代码永远不能直接使用它:

 [Obsolete("For serialization only", true)]
 public Foo() {}