473,387 Members | 1,313 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Serialization woes

Hello,

I've been battling over this problem for
the better part of a day, so I'd appreciate it
if someone could shed some light here.

I have a file which is produced by the custom binary
serialization of an object (i.e. by implementing the
ISerializable interface). This object has a hashtable
as one of its members, and this hashtable is
properly populated before the object that
contains it is serialized to disk (again using
custom serialization).

I can confirm that when the file is created, it
has information on the contents of the hashtable.

However, when the object is deserialized, the
hashtable now has all the data zapped from it.

I've checked and rechecked that I am using the
right names to put data in the SerializationInfo
object in GetObjectData, and to extract the data
in the special serialization constructor.

I wish I could know what went on behind
the scenes between the call to deserialize the
object and the call to the special constructor.
It's as if the SerializationInfo object is not
being properly populated from the data in the
file.

Any help would be greatly appreciated.

--
Akin

aknak at aksoto dot idps dot co dot uk
Nov 21 '05 #1
3 1265
Have you looked and compared your code to the
System.Runtime.Serialization.ISerializable overview in the help file ?

--

OHM ( Terry Burns )
. . . One-Handed-Man . . .
If U Need My Email ,Ask Me

Time flies when you don't know what you're doing

"Wild Wind" <no****@blackhole.com> wrote in message
news:2o************@uni-berlin.de...
Hello,

I've been battling over this problem for
the better part of a day, so I'd appreciate it
if someone could shed some light here.

I have a file which is produced by the custom binary
serialization of an object (i.e. by implementing the
ISerializable interface). This object has a hashtable
as one of its members, and this hashtable is
properly populated before the object that
contains it is serialized to disk (again using
custom serialization).

I can confirm that when the file is created, it
has information on the contents of the hashtable.

However, when the object is deserialized, the
hashtable now has all the data zapped from it.

I've checked and rechecked that I am using the
right names to put data in the SerializationInfo
object in GetObjectData, and to extract the data
in the special serialization constructor.

I wish I could know what went on behind
the scenes between the call to deserialize the
object and the call to the special constructor.
It's as if the SerializationInfo object is not
being properly populated from the data in the
file.

Any help would be greatly appreciated.

--
Akin

aknak at aksoto dot idps dot co dot uk

Nov 21 '05 #2

"Wild Wind" <no****@blackhole.com> wrote in message
news:2o************@uni-berlin.de...
Hello,

I've been battling over this problem for
the better part of a day, so I'd appreciate it
if someone could shed some light here.

I have a file which is produced by the custom binary
serialization of an object (i.e. by implementing the
ISerializable interface). This object has a hashtable
as one of its members, and this hashtable is
properly populated before the object that
contains it is serialized to disk (again using
custom serialization).

I can confirm that when the file is created, it
has information on the contents of the hashtable.

However, when the object is deserialized, the
hashtable now has all the data zapped from it.

I've checked and rechecked that I am using the
right names to put data in the SerializationInfo
object in GetObjectData, and to extract the data
in the special serialization constructor.

I wish I could know what went on behind
the scenes between the call to deserialize the
object and the call to the special constructor.
It's as if the SerializationInfo object is not
being properly populated from the data in the
file.


OK, it seems from googling around that the problem
is caused by the hashtable not being populated with
its elements *until* deserialization is complete -
at the time I am still deserializing it in the
special deserialization constructor, this hasn't
happened so there are no items in it.

It also turns out that the solution is for the class
that contains the hashtable and is being serialized/
deserialized to implement the IDeserializationCallback
interface and access the hashtable in the OnDeserialization
method of that call.

--
Akin

aknak at aksoto dot idps dot co dot uk
Nov 21 '05 #3
Hi,
I ran into the same problem. However in the OnDeserialization
the hashTable member is still empty. it is only populated after the stream is closed.
Were you able to find a solution to this?

Thanks,
Koichiro
Hello,

I've been battling over this problem for
the better part of a day, so I'd appreciate it
if someone could shed some light here.

I have a file which is produced by the custom binary
serialization of an object (i.e. by implementing the
ISerializable interface). This object has a hashtable
as one of its members, and this hashtable is
properly populated before the object that
contains it is serialized to disk (again using
custom serialization).

I can confirm that when the file is created, it
has information on the contents of the hashtable.

However, when the object is deserialized, the
hashtable now has all the data zapped from it.

I've checked and rechecked that I am using the
right names to put data in the SerializationInfo
object in GetObjectData, and to extract the data
in the special serialization constructor.

I wish I could know what went on behind
the scenes between the call to deserialize the
object and the call to the special constructor.
It's as if the SerializationInfo object is not
being properly populated from the data in the
file.

Any help would be greatly appreciated.

--
Akin

aknak at aksoto dot idps dot co dot uk


User submitted from AEWNET (http://www.aewnet.com/)
Nov 21 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

37
by: Ben | last post by:
Hi, there. Recently I was working on a problem where we want to save generic closures in a data structure (a vector). The closure should work for any data type and any method with pre-defined...
1
by: andrewcw | last post by:
There is an error in XML document (1, 2). I used XML spy to create the XML and XSD. When I asked to have the XML validated it said it was OK. I used the .net SDK to generate the class. I have...
3
by: Aaron Clamage | last post by:
Hi, I'm not sure that if this is the right forum, but any help would be greatly appreciated. I am porting some java serialization code to c# and I can't figure out the correct way to do it. ...
3
by: Alexander | last post by:
When i store rule on PC with .NET.SP1 i cant restore them from PC without SP1. An i get this Error: System.Runtime.Serialization.SerializationException: Possible Version mismatch. Type...
4
by: mijalko | last post by:
Hi, I have inherited my class from System.Drawing.Printing.PrintDocument and I wish to serialize this object using XmlSerializer. And I get exception "There was an error reflecting type ...". If I...
5
by: Nikola Skoric | last post by:
I ran in Mono a program developed on .NET Framework 2.0 and it ran OK until I tried to desirialize a object. There the program died abruptly dumping this: System.ArgumentOutOfRangeException:...
0
by: bharathreddy | last post by:
Before going to that i want to say few thing on serialization : Serialization is the process of converting an object into a form that can be readily transported. For example, you can serialize an...
1
by: kikisan | last post by:
I am developing a windows service which utilizes the following classes: interface IPersistable; abstract class PersistableObject : IPersistable;
2
by: mkvenkit.vc | last post by:
Hello, I hope this is the right place to post a question on Boost. If not, please let me know where I can post this message and I will do so. I am having a strange problem with std::string as...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.