[Mono-devel-list] Remoting .NET - Mono interoperable

José Luis Martín Peinado jlmp at tid.es
Thu Apr 3 12:08:32 EST 2003

	Hi Lluis,

	Thank you for the reply. About your questions, I have some points:

	- MS.NET requests don't include headers in requests (at least for uri and
Content-Type headers). So, some kind of predefined order should be 'known'
when headers are not present. I suppose that what MS.NET does it to
serialize an internal object, that at least include these attributes (a
Runtime Object -> uri, and a String -> Content-Type ) and maybe some
additional headers (could be in a Hashtable?). So, if I'm right, instead of
having to process headers we should only have to deserialize what you
receive after the .NET 0x01 0x00 token, and then you would have the headers
in this object simply.

	- BinaryFormatter: ReadBinaryHeader and WriteBinaryHeader didn't encode
headers for requests and responses in the same way in MS.NET and Mono. I
think that MS.NET never used values 2 or -1 to indicate if headers are
present, and MS.NET doesn't like these bytes in some requests. That's the
reason why I changed it, only in order to interwork, but I have no idea of
these fields.

	Best regards, José Luis.

-----Mensaje original-----
De: mono-devel-list-admin at lists.ximian.com
[mailto:mono-devel-list-admin at lists.ximian.com]En nombre de Lluis
Enviado el: jueves 3 de abril de 2003 18:25
Para: José Luis Martín Peinado; mono-devel-list at lists.ximian.com
Asunto: Re: [Mono-devel-list] Remoting .NET - Mono interoperable

Hi José Luis

Thanks for the patch!

I've reviewed it and I've found a couple of problems, that I've already
fixed. The first one is that TransportHeaders can have many headers, not
only the uri and the content type, so for those custom headers it is
necessary to write the key and the value the way it was done before your

The other issue is with the "application/octet-stream" header. It is in fact
a header named "Content-Type" and that it is added by the
BinaryClientFormatterSink. It does so now.

Regarding your patch for BinaryFormatter, I don't understand the reason for
this change. I think that what we have in Mono 0.23 is already compatible
with MS.NET.

- Lluis.

----- Original Message -----
From: José Luis Martín Peinado
To: mono-devel-list at lists.ximian.com
Sent: Tuesday, April 01, 2003 6:18 PM
Subject: [Mono-devel-list] Remoting .NET - Mono interoperable


    I'm quite interested in Mono remoting interoperability with MS.NET. I
have performed some modifications to classes TcpMessageIO and
BinaryFormatter (from version 0.23 of Mono), and now interworks with MS .NET

    Document about Binary Serialization Format from Lluis Sánchez has been
helpful. Although a lot of fields are unknown to the moment, I will try to
provide some information about the supposed way remoting protocol is done by

    I haven't tested extensively modifications, but I hope it is useful for
the people working on the remoting and serialization stuff. A simple example
of remoting for testing is included also.

    Best regards, José Luis.

José Luis Martín Peinado
Telefónica I+D
Servicios Móviles de Nueva Generación

Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com

More information about the Mono-devel-list mailing list