2009-01-23 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Fri, 23 Jan 2009 09:17:58 +0000 (09:17 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Fri, 23 Jan 2009 09:17:58 +0000 (09:17 -0000)
        * ContractDescriptionGenerator.cs : async begin method with
          [MessageContract] has 3 parameters, not 1.

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

mcs/class/System.ServiceModel/System.ServiceModel.Description/ChangeLog
mcs/class/System.ServiceModel/System.ServiceModel.Description/ContractDescriptionGenerator.cs

index 17b61e79cfaa322aeac2ac7276c140c7bd5a7a9e..bc9c2d0878a069378099a9308c28b76e36e03c28 100644 (file)
@@ -1,3 +1,8 @@
+2009-01-23  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ContractDescriptionGenerator.cs : async begin method with
+         [MessageContract] has 3 parameters, not 1.
+
 2009-01-22  Atsushi Enomoto  <atsushi@ximian.com>
 
        * DataContractSerializerMessageContractImporter.cs :
index 3f27589edaf3f1b20fc7d8060e37bc195a52e8a1..677b8c238a5e214055c6e9382c387a1221ba8f1a 100644 (file)
@@ -244,7 +244,8 @@ namespace System.ServiceModel.Description
                        // If the argument is only one and has [MessageContract]
                        // then infer it as a typed messsage
                        if (isRequest) {
-                               mca = plist.Length != 1 ? null :
+                               int len = mi.Name.StartsWith ("Begin", StringComparison.Ordinal) ? 3 : 1;
+                               mca = plist.Length != len ? null :
                                        GetMessageContractAttribute (plist [0].ParameterType);
                                if (mca != null)
                                        messageType = plist [0].ParameterType;