سؤال

حسنا، لست متأكدا مما إذا كان هذا السؤال قد سئل قبل ذلك إذا كان له اللهب ثم. دعونا نقول أن لدينا فئتين مثل هذا

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


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

كما ترون أن الدرجة تحمل إشارة إلى الفضلات ولكن يرث الفئة 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