2010-03-24 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Wed, 24 Mar 2010 05:10:27 +0000 (05:10 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Wed, 24 Mar 2010 05:10:27 +0000 (05:10 -0000)
* ChannelListenerBase.cs, TransactionFlowBindingElement.cs: fix
  GetProperty<T>() bug that fails to retrieve properties. (This may
  be rewritten later if an ongoing change proposal is to take place.)

svn path=/trunk/mcs/; revision=154107

mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog
mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChannelListenerBase.cs
mcs/class/System.ServiceModel/System.ServiceModel.Channels/TransactionFlowBindingElement.cs

index 02545a59cba619c61f676fad2a877420cf7afc42..7a6096c16866eb55d42c331165560718e6c16d5f 100755 (executable)
@@ -1,3 +1,9 @@
+2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ChannelListenerBase.cs, TransactionFlowBindingElement.cs: fix 
+         GetProperty<T>() bug that fails to retrieve properties. (This may
+         be rewritten later if an ongoing change proposal is to take place.)
+
 2010-03-18  Atsushi Enomoto  <atsushi@ximian.com>
 
        * ReliableSessionBindingElement.cs,
index 1d3042b49ed2a0230438e0fba1103dbbfcb4c878..a932f68bf348da222ef7e9e11a30458276b3175a 100644 (file)
@@ -84,7 +84,7 @@ namespace System.ServiceModel.Channels
                        get { return timeouts.SendTimeout; }
                }
 
-               internal KeyedByTypeCollection<object> Properties {
+               internal virtual KeyedByTypeCollection<object> Properties {
                        get {
                                if (properties == null)
                                        properties = new KeyedByTypeCollection<object> ();
index 9324471fa949b58416ce9be91615240148355365..28a93f0ded4dba6aabaff4be09e014e8bfcbae69 100644 (file)
@@ -161,6 +161,13 @@ namespace System.ServiceModel.Channels
                        this.protocol = protocol;
                }
 
+               internal override KeyedByTypeCollection<object> Properties {
+                       get {
+                               var b = inner_listener as ChannelListenerBase;
+                               return b != null ? b.Properties : base.Properties;
+                       }
+               }
+
                public override Uri Uri {
                        get { return inner_listener.Uri; }
                }