Author: robertj
Date: 2007-06-05 15:39:16 -0400 (Tue, 05 Jun 2007)
New Revision: 78667

Modified:
   trunk/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog
   trunk/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs
Log:
2007-06-05  Robert Jordan  <[EMAIL PROTECTED]>

        * ChannelServices.cs (CreateClientChannelSinkChain):
        Provide the URI when channel data is not IChannelDataStore,
        otherwise the channels won't be able to obtain the URI.
        Fixes #81811.



Modified: trunk/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog   
2007-06-05 19:33:48 UTC (rev 78666)
+++ trunk/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog   
2007-06-05 19:39:16 UTC (rev 78667)
@@ -1,3 +1,10 @@
+2007-06-05  Robert Jordan  <[EMAIL PROTECTED]>
+
+       * ChannelServices.cs (CreateClientChannelSinkChain):
+       Provide the URI when channel data is not IChannelDataStore,
+       otherwise the channels won't be able to obtain the URI.
+       Fixes #81811.
+
 2007-02-12  Lluis Sanchez Gual  <[EMAIL PROTECTED]>
 
        * ChannelServices.cs: Added conditional calling of StartListener,

Modified: 
trunk/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs  
2007-06-05 19:33:48 UTC (rev 78666)
+++ trunk/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs  
2007-06-05 19:39:16 UTC (rev 78667)
@@ -132,9 +132,15 @@
                        }
                        else {
                                foreach (object data in channelDataArray) {
-                                       // Don't provide the url in this case, 
since some channels won't
-                                       // check the channelData parameter if 
the url is not null.
-                                       IMessageSink sink = 
sender.CreateMessageSink (null, data, out objectUri);
+                                       IMessageSink sink;
+
+                                       if (data is IChannelDataStore) {
+                                               // Don't provide the url in 
this case, since some channels won't
+                                               // check the channelData 
parameter if the url is not null.
+                                               sink = sender.CreateMessageSink 
(null, data, out objectUri);
+                                       } else {
+                                               sink = sender.CreateMessageSink 
(url, data, out objectUri);
+                                       }
                                        if (sink != null) return sink;          
                                }
                        }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to