I have one other question:

Is there a way of installing standard serialization translation formatter to
a give channel?

What I want is the following:
System.Drawing.Image for instance is derived from MashalByRefObject, but
when a proxy version of an image is used (like Save(stream,ImageFormat.Jpeg)
or similar) the serialization fails.  Image is not marked as serializable,
but it would be very easy to do:

        public static byte[] ImageToStream(Image image)
        {
                MemoryStream s = new MemoryStream();
                image.Save(s,ImageFormat.Jpeg);
                s.Close();
                return s.GetBuffer();
        }

        public static Image StreamToImage(byte[] image)
        {
                return Image.FromStream(new MemoryStream(image));
        }

But the problem is that I might have a structure like:
class ServerSide : MarshalByRefObject
{
        public void Method(Image image) { ... }
}

When I call from the client:

        ServerSide s = Activation.GetObject(...) as ServerSide;
        s.Method(Image.FromFile("/tmp/test.gif"));

I would like the formatter to kick in, and automatically serialize the image
to a byte[] and de-serialize back.  Is that possible on a channel formatter
level, so that I don't have to change the method signature?

This applied for other objects like object[], Hashtable, and others that
could be serialized very easily in general purpose code.

- URS C. MUFF

_______________________________________________
Mono-list maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to