Re: calling methods on deserialized objects



On 08/25/2006 03:32 PM, wrote:
Hello Perl Specialists,

i'm struggling with a weird problem ....

background:
I have stored an "object tree" in a CGI::Session. I want to make the whole object model persistent, when the page has finished rendering and restore all the stuff when the page is loaded by a new request. So far so good: The object structure seems to be serialized correct [ but method calls don't work ... ]

I've haven't used CGI::Session, but I don't think it'll work for two reasons: 1) serialization and deserialization breaks the internal connection between hashes and their associated classes, and 2) after deserialization, objects referred to by references may be in different locations.

I have three bits of advice: 1) bless the hashes back into their respective classes after deserialization, 2) use custom serialization and deserialization methods to reconstruct the object tree for each request, and 3) make sure the objects' package (class) files are loaded before deserializing.

This post is a WAG so forgive me if I'm totally off the wall.

PS.
The ref() function returns a string of text and, by itself, is no indication that the internal bytecode that connects a hash reference to a class is still there.



.



Relevant Pages

  • Re: calling methods on deserialized objects
    ... serialization and deserialization breaks the internal connection ... is nothing more than a blessed hash reference!? ...
    (comp.lang.perl.modules)
  • serialization inherited objects
    ... deserialization. ... Some extra propertys in the objects ... Now I would like some solution will the serialization keeps working. ... that in my app I would like to keep using my original name ...
    (microsoft.public.dotnet.languages.vb)
  • Re: cannot use static fields in AJAX applications?
    ... type's assembly is sufficient to resolve additional types. ... serializer construction for specific types. ... ViewState's built-in serialization does not like dynamically constructed ... serializers for later deserialization requests. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Serialization woes
    ... > serialization of an object (i.e. by implementing the ... > object and the call to the special constructor. ... its elements *until* deserialization is complete - ... aknak at aksoto dot idps dot co dot uk ...
    (microsoft.public.dotnet.languages.vb)
  • Re: calling methods on deserialized objects
    ... serialization and deserialization breaks the internal connection between hashes and their associated classes, ... What "internal connection" are you refering to? ... The serialized structure looks good (I had a look at the session text file), references are replaced by their serialized target, no memory address pointers inside ... ... respective classes after deserialization, ...
    (comp.lang.perl.modules)