[Mono-bugs] [Bug 81352][Min] Changed - Channel sink providers are not shareable between channels

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Apr 11 12:06:25 EDT 2007


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by robertj at gmx.net.

http://bugzilla.ximian.com/show_bug.cgi?id=81352

--- shadow/81352	2007-04-11 11:19:18.000000000 -0400
+++ shadow/81352.tmp.2303	2007-04-11 12:06:25.000000000 -0400
@@ -3,20 +3,20 @@
 Version: 1.2
 OS: GNU/Linux [Other]
 OS Details: Gentoo x86_64
 Status: NEW   
 Resolution: 
 Severity: Unknown
-Priority: Major
+Priority: Minor
 Component: remoting
 AssignedTo: lluis at ximian.com                            
 ReportedBy: mercier.eric at gmail.com               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
 URL: 
-Summary: Call of a implemented properties
+Summary: Channel sink providers are not shareable between channels
 
 The System.Runtime.Remoting.Channels.ChannelServices calls the 'next'
 propertie setter of
 System.Runtime.Remoting.Channels.ServerDispatchSinkProvider wich throws a
 NotSupportedException
 
@@ -314,6 +314,59 @@
 (object,Apodis.Remote.DataReceivedBroadcastEventArgs)
   at Apodis.Remote.BroadcastManager`1[System.String].ListeningFunction
 () [0x00089] in
 /home/eric/stage/Remote/Apodis.Remote/BroadCastManager.cs:150 
   at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()
 
+
+------- Additional Comments From robertj at gmx.net  2007-04-11 12:06 -------
+A proper test case:
+
+
+using System;
+using System.Collections;
+using System.Runtime.Remoting;
+using System.Runtime.Remoting.Channels;
+using System.Runtime.Remoting.Channels.Tcp;
+using System.Runtime.Serialization.Formatters;
+
+class Test
+{
+	static void Main ()
+	{
+		BinaryServerFormatterSinkProvider provider =
+			new BinaryServerFormatterSinkProvider();
+
+		provider.TypeFilterLevel = TypeFilterLevel.Full;
+
+		Register ("name1", "62000", provider);
+
+		// remove the comment in to make it work
+		// provider = new BinaryServerFormatterSinkProvider();
+
+		Register ("name2", "62001", provider);
+
+		Console.WriteLine ("ready");
+	}
+
+	static void Register ( string name, string port,
+IServerChannelSinkProvider provider)
+	{
+		Hashtable props = new Hashtable ();
+		props["name"] = name;
+		props["port"] = port;
+		TcpChannel c = new TcpChannel (props, null, provider);
+		ChannelServices.RegisterChannel(c, false);
+	}
+}
+
+
+
+It seems that mono needs distinct sink providers.
+Removing the comment fixes the issue.
+
+I'm not sure if sink providers are intended to be shared between
+channels at all, but MS seems to support this.
+
+[prio changed]
+[subject changed]
+


More information about the mono-bugs mailing list