or doing something like this....

    Public Function GetXML() as string
        Dim serializer As New 
System.Xml.Serialization.XmlSerializer(GetType(YOUROBJECTTYPEHERE))
        Dim writer As New System.IO.StringWriter()
        Dim Obj As YOUROBJECTTYPEHERE
        Obj = Me
        serializer.Serialize(writer, Obj)
        Dim s As String
        s = writer.ToString
        writer.Close()
        Return s
    End Function

-----Original Message-----
From: Brent E. Rector [mailto:[EMAIL PROTECTED]]
Sent: Monday, May 20, 2002 4:35 PM
To: [EMAIL PROTECTED]
Subject: Re: [DOTNET] Object serialization to string representation


Well, you are using the "Binary" formatter to write the state of your
object to the stream. But you subsequently try and read the binary data
as a string. You'd have better luck using the SoapFormatter.

-- Brent Rector, .NET Wise Owl
Demeanor for .NET - an obfuscation utility
http://www.wiseowl.com/Products/Products.aspx



-----Original Message-----
From: Steve Holak [mailto:[EMAIL PROTECTED]] 
Sent: Monday, May 20, 2002 2:13 PM
To: [EMAIL PROTECTED]
Subject: [DOTNET] Object serialization to string representation


I'm trying a test function to serialize an object to a string (to
eventually upload the string to a database for storage).  The object
serializes just fine to disk creating a Stream as a File.IO.

What I'm encountering is trying to serialize to a MemoryStream and
reading it back with a StreamReader; in the code below the string "test"
is always empty  ("")

The "this" reference is the object itself which contains the
serialization implemetation.

What am I missing, and is there a simpler way to return the string
representation of a serialized object without writing to disk?

               Stream stream = new MemoryStream();
               BinaryFormatter formatter = new BinaryFormatter();

               formatter.Serialize(stream,this);//this is the object
saving itself to the db.
               StreamReader sr =new StreamReader(stream);

               sr.BaseStream.Seek(0, SeekOrigin.Begin);

               //test always shows ""
               string test=sr.ReadToEnd();

               stream.Close();

TIA

Steve Holak
Senior Software Architect

Brokerage Concepts IS Dept.
610-491-4879

email:  [EMAIL PROTECTED]

You can read messages from the DOTNET archive, unsubscribe from DOTNET,
or subscribe to other DevelopMentor lists at http://discuss.develop.com.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to