문제

좋아,이 질문이 전에 묻는 지 잘 모르겠습니다. 이와 같은 두 가지 수업이 있다고 가정 해 봅시다

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


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

보시다시피 Classa는 ClassB에 대한 참조를 보유하고 있지만 Class B는 MarshalbyRefobject 클래스에서 상속됩니다. 내 질문은 Classa를 다른 AppDomain으로 전달하려고 할 때 Classa가 _Data 필드를 투명한 프록시로 새로운 AppDomain으로 전달하는 것을 제외하고는 Classa가 정상적으로 일련의 방식을 직렬화 할 수 있습니까?

모든 도움이 감사합니다 :)

도움이 되었습니까?

해결책

Classa는 MarshalbyRefobject에서 파생되도록해야합니다.

그리고 iserializable을 구현할 수 있습니다 http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx

유형이 응용 프로그램 도메인 경계에서 유형을 사용하면 유형이 MarshalbyRefobject에서 상속되어야하며, 객체의 부재는 생성 된 응용 프로그램 도메인 외부에서 객체 부재를 사용할 수 없기 때문에 객체의 상태를 복사해서는 안됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top