[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