Author: atsushi
Date: 2008-02-14 09:11:54 -0500 (Thu, 14 Feb 2008)
New Revision: 95631

Modified:
   trunk/olive/class/System.ServiceModel/System.ServiceModel/ChangeLog
   trunk/olive/class/System.ServiceModel/System.ServiceModel/ChannelFactory_1.cs
Log:
2008-02-14  Atsushi Enomoto  <[EMAIL PROTECTED]>

        * ChannelFactory_1.cs : populate ClientOperations before applying
          IEndpointBehavior and IContractBehavior so that they can access to
          ClientOperations.



Modified: trunk/olive/class/System.ServiceModel/System.ServiceModel/ChangeLog
===================================================================
--- trunk/olive/class/System.ServiceModel/System.ServiceModel/ChangeLog 
2008-02-14 14:05:07 UTC (rev 95630)
+++ trunk/olive/class/System.ServiceModel/System.ServiceModel/ChangeLog 
2008-02-14 14:11:54 UTC (rev 95631)
@@ -1,3 +1,9 @@
+2008-02-14  Atsushi Enomoto  <[EMAIL PROTECTED]>
+
+       * ChannelFactory_1.cs : populate ClientOperations before applying
+         IEndpointBehavior and IContractBehavior so that they can access to
+         ClientOperations.
+
 2008-02-14  Igor Zelmanovich  <[EMAIL PROTECTED]>
 
        * ServiceContractAttribute.cs: fixed public API

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel/ChannelFactory_1.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel/ChannelFactory_1.cs   
    2008-02-14 14:05:07 UTC (rev 95630)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel/ChannelFactory_1.cs   
    2008-02-14 14:11:54 UTC (rev 95631)
@@ -139,17 +139,18 @@
                        ClientRuntime proxy = new ClientRuntime (se);
                        proxy.ContractClientType = typeof (TChannel);
 
+                       foreach (OperationDescription od in 
se.Contract.Operations)
+                               if (!proxy.Operations.Contains (od.Name))
+                                       PopulateClientOperation (proxy, od);
+
                        foreach (IEndpointBehavior b in se.Behaviors)
                                b.ApplyClientBehavior (se, proxy);
 
                        foreach (IContractBehavior b in se.Contract.Behaviors)
                                b.ApplyClientBehavior (se.Contract, se, proxy);
-                       foreach (OperationDescription od in 
se.Contract.Operations) {
-                               if (!proxy.Operations.Contains (od.Name))
-                                       PopulateClientOperation (proxy, od);
+                       foreach (OperationDescription od in 
se.Contract.Operations)
                                foreach (IOperationBehavior ob in od.Behaviors)
                                        ob.ApplyClientBehavior (od, 
proxy.Operations [od.Name]);
-                       }
 
                        return proxy;
                }

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

Reply via email to