[Mono-devel-list] Re: Mono-devel-list digest, Vol 1 #1109 - 10 msgs

Richard Norman normri at samc.com
Wed Sep 29 13:42:11 EDT 2004

Just a quick comment on this from me (I try to follow Don Box's exploits
in this world closely). I agree 100%. Remoting should be limited to
interappdomain/process communication. The recommenced path (according to
Microsoft) is to use ASMX primarily, or if higher performance is needed
use DCOM I believe. Remoting was reserved for communication between
processes where types can be "guaranteed" to be the same.
Also with Indigo they are going toward the "WSE" style of
interoperability. So instead of using a "remoting" style of interop,
they are using the ASMX style of connected systems where the contracts
are shared but not the types. I would recommend in Mono an investment be
made in the WSE classes as they would be a precursor to Indigo classes
in Mono. I know it will take some effort creating the channels and ports
and so on, but I think it would be a step in the right direction.
According to some of the quotes I've read, remoting is in a similar
state as COM.. It is not dead, but it is pretty much done. Most
development will be in the WSE style of coding and connecting.
Anyway, that's my 2 cents on the issue.
Richard Norman
Jazzynupe at sbcglobal.net

>>> mono-devel-list-request at lists.ximian.com 9/29/2004 3:32:47 AM >>>

Message: 8
Subject: Re: [Mono-devel-list] un-interoperatible classes .NET -> Mono
From: Jonathan Pryor <jonpryor at vt.edu>
To: Aleksandar Dezelin <dezelin32 at fastmail.fm>
Cc: Mono Development List <mono-devel-list at lists.ximian.com>
Date: Wed, 29 Sep 2004 06:23:51 -0400

On Tue, 2004-09-28 at 04:07, Aleksandar Dezelin wrote:
> does anybody knows what classes are un-interoperatible between Mono
> .NET regarding remoting? I've found thar Hashtable is one of them but
> don't understand why? Can somebody explain this topic little

It should be noted (because I haven't seen anyone else mention it)
remoting is ONLY guaranteed to work if you're using the same runtime
version on both ends.  This applies to *both* mono and .NET.

In particular, remoting between .NET 1.0 and .NET 1.1 WILL NOT ALWAYS
WORK.  If *anything* of the internal structure of a class changes,
remoting fails.  Consequently, .NET 2.0 and .NET 1.x are also not
to work in all circumstances either.

Wanting Mono to interoperate with all versions of .NET is asking for a
bit much, especially when Microsoft can't do the same thing.

Which leaves you with the suggested solution: take control of
serialization yourself, so that *you* can ensure that all platforms
compatible.  This can be done through Jason King's middle layers, or
though web services, or through some other mechanism.

The key point is that you CANNOT rely on the default remoting
functionality when you have different CLI implementations on either
of the remoting boundary.  Remoting is very brittle.  Which is
why Microsoft is working on Indigo for the .NET 2.0 remoting solution,
which will merge remoting, web services, and related functionality.

- Jon

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20040929/4e03a88b/attachment.html 

More information about the Mono-devel-list mailing list