好吧,我不知道,如果这个问题以前,所以如果它再明火被问。比方说,我们有两个班这样

[Serializable]
public class ClassA
{
    private string _name;
    private ClassB _data;
}


public class ClassB : MarshalByRefObject
{
    public string GetAppDomainName()
    {
      return AppDomain.Current.FriendlyName;
    }  
}

正如你可以看到ClassA的保持到ClassB的一个参考,但B类从MarshalByRefObject类继承。我的问题是,当我试图ClassA的传递到另一个的AppDomain我怎样才能ClassA的序列化它通常会在除外通过_data领域新的AppDomain作为透明代理的方式?

任何帮助理解:)

有帮助吗?

解决方案

有无ClassA的自MarshalByRefObject派生而来,因为这是你想要远程其他的AppDomain对象。

和可以实现ISerializable的的http:// msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx

当类型跨应用程序域边界使用,并且该对象的状态不能被复制,因为对象的成员并不在那里他们被创建的应用程序域之外可用的。的类型必须自MarshalByRefObject继承

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top