Author: atsushi
Date: 2008-02-15 13:17:23 -0500 (Fri, 15 Feb 2008)
New Revision: 95779
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs
Log:
2008-02-15 Atsushi Enomoto <[EMAIL PROTECTED]>
* ChannelDispatcher.cs : populate DispatchOperations before applying
IEndpointBehaviors so that those behaviors can modify dispatch
operations.
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog
===================================================================
---
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog
2008-02-15 18:16:01 UTC (rev 95778)
+++
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog
2008-02-15 18:17:23 UTC (rev 95779)
@@ -1,5 +1,11 @@
2008-02-15 Atsushi Enomoto <[EMAIL PROTECTED]>
+ * ChannelDispatcher.cs : populate DispatchOperations before applying
+ IEndpointBehaviors so that those behaviors can modify dispatch
+ operations.
+
+2008-02-15 Atsushi Enomoto <[EMAIL PROTECTED]>
+
* DispatchOperation.cs : Action may be null. For such cases, use
MessageDirection to determine the message description.
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs
===================================================================
---
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs
2008-02-15 18:16:01 UTC (rev 95778)
+++
trunk/olive/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs
2008-02-15 18:17:23 UTC (rev 95779)
@@ -190,19 +190,20 @@
endpoint_dispatcher.ChannelDispatcher = this;
host.ChannelDispatchers.Add (this);
+ DispatchRuntime db =
endpoint_dispatcher.DispatchRuntime;
+
+ foreach (OperationDescription od in
se.Contract.Operations)
+ if (!db.Operations.Contains (od.Name))
+ PopulateDispatchOperation (db, od);
+
+ // apply behaviors
foreach (IEndpointBehavior b in se.Behaviors)
b.ApplyDispatchBehavior (se,
endpoint_dispatcher);
-
- // apply behaviors
- DispatchRuntime db =
endpoint_dispatcher.DispatchRuntime;
foreach (IContractBehavior b in se.Contract.Behaviors)
b.ApplyDispatchBehavior (se.Contract, se, db);
- foreach (OperationDescription od in
se.Contract.Operations) {
- if (!db.Operations.Contains (od.Name))
- PopulateDispatchOperation (db, od);
+ foreach (OperationDescription od in
se.Contract.Operations)
foreach (IOperationBehavior ob in od.Behaviors)
ob.ApplyDispatchBehavior (od,
db.Operations [od.Name]);
- }
}
void PopulateDispatchOperation (DispatchRuntime db,
OperationDescription od)
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches