System.Runtime.Serialization.SerializationException bei Zugriff auf Proxy



  • Hallo,

    bei Zugriff auf einen Proxy einer mit [Serializable] gekennzeichneten
    Klasse tritt folgende Exception auf:

    System.Runtime.Serialization.SerializationException

    Zusätzliche Informationen: Unzureichender Status zum Deserialisieren des Objekts. Weitere Informationen sind erforderlich.

    Wieso? Alle verwendeten Klassen innerhalb der Klasse sind als [Serializable] gekennzeichnet.

    Gruß
    SlEasy



  • lass mal die Klasse sehen



  • DieKlasse (B) wird instanziiert von einer Klasse(A) die MarshalByRefObj beerbt. A wird sauber serialisiert und deserialisiert. Beim Zugriff auf B über A kommt es zu der besagten Exception.

    [Serializable]
    public class DieKlasse {
       private string        m_Directory;
       private ComponentList m_Components;
    
       public DieKlasse(Type theType, string theDirectory) {
          m_Directory  = theDirectory;
          m_Components = new ComponentList();
    
          foreach(string aFileName in Directory.GetFiles(m_Directory, "*.dll")) {
             Assembly aAssembly = Assembly.LoadFrom(aFileName);
    
             foreach(Type aType in aAssembly.GetTypes())
                if(aType.GetInterface(theType.Name) != null)
                   m_Components.InsertComponent(aType, aAssembly);
             }
       }
    
       public object LoadComponent(string theComponentName) {
          return m_Components.CreateComponent(theComponentName);;
       }
    
       public ComponentList ComponentList {
          get { return m_Components; }
       }
    }
    

Anmelden zum Antworten