Sfoglia il codice sorgente

2010-05-27 Atsushi Enomoto <[email protected]>

	* EndpointDispatcher.cs : fill CallbackDispatchRuntime. Add some
	  FIXME comments for ongoing fixes.


svn path=/trunk/mcs/; revision=158048
Atsushi Eno 15 anni fa
parent
commit
bcf2dad8d0

+ 5 - 0
mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChangeLog

@@ -1,3 +1,8 @@
+2010-05-27  Atsushi Enomoto  <[email protected]>
+
+	* EndpointDispatcher.cs : fill CallbackDispatchRuntime. Add some
+	  FIXME comments for ongoing fixes.
+
 2010-05-26  Atsushi Enomoto  <[email protected]>
 
 	* OperationInvokerHandler.cs : assign RelatesTo header item here.

+ 5 - 1
mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/EndpointDispatcher.cs

@@ -124,8 +124,12 @@ namespace System.ServiceModel.Dispatcher
 			DispatchRuntime db = this.DispatchRuntime;
 			if (!isCallback && se.Contract.CallbackContractType != null) {
 				var ccd = ContractDescriptionGenerator.GetCallbackContract (db.Type, se.Contract.CallbackContractType);
+				// FIXME: remove below line. It does not have to be refilled here. (CallbackBehaviorAttributeTest blocks its removal.)
 				db.CallbackClientRuntime = ccd.CreateClientRuntime ();
-				db.CallbackClientRuntime.CallbackClientType = ccd.ContractType;
+				db.CallbackClientRuntime.CallbackDispatchRuntime = DispatchRuntime;
+				db.CallbackClientRuntime.CallbackClientType = se.Contract.CallbackContractType;
+				// FIXME: enable it. it should be the contract type, not the callback type.
+				// db.CallbackClientRuntime.ContractClientType = se.Contract.ContractType;
 			}
 			foreach (OperationDescription od in se.Contract.Operations)
 				if (!db.Operations.Contains (od.Name))