Hi!

I'm posting this to help other programmers falling into this small pitfall.

While testing IIOP.NET (http://iiop-net.sourceforge.net/), we run into a difference in the way Mono and .NET handle a IReceiverChannel in the remoting (we did define our own channel).

IReceiverChannel defines the method StartListening, which instructs the channel to start listening for incoming requests.

A channel is usually deployed as follows:

   IiopChannel chn = new IiopChannel(defaultPort);
   ChannelServices.RegisterChannel(chn);

In .NET, StartListening is not explicitely called, thus we call it in the channel's constructor; in Mono, StartListening is called by RegisterChannel.

IMHO the Mono way is more intuitive. Anyway, portable code must be able to deal with both framework implementations. Thus, we still call StartListening in the constructor, and added a check in StartListening to make sure it is called only once or after a StopListening.

I hope this small warning may be of some help....

Patrik


------------------------ Patrik Reali http://www.reali.ch/~patrik/ http://iiop-net.sourceforge.net/ _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to