estoy consumiendo un WSDL predefinida con svcutil a la:.Net 4.5 Svcutil genera dos operaciones con el mismo nombre (Método y MethodAsync)
svcutil some_service.wsdl
uno de los métodos generado tiene la siguiente firma:
[System.ServiceModel.OperationContractAttribute(Action="http://ws.example.org/SubmitData", ReplyAction="*")]
SubmitDataResponse SubmitData(SubmitDataRequest request)
Mientras scvutil de VS2010/.net35 genera sólo el arriba y VS no tiene ningún problema lanuching el servicio, el programa svcutil que forma parte de VS2012/.net45 también genera un método con la firma
[System.ServiceModel.OperationContractAttribute(Action="http://ws.example.org/SubmitData", ReplyAction="*")]
Task<SubmitDataResponse> SubmitDataAsync(SubmitDataRequest request);
Esto provoca una excepción en tiempo de ejecución:
System.InvalidOperationException: No se puede tener dos operaciones en el mismo contrato con el mismo nombre, métodos y SubmitDataAsync SubmitData en el tipo MyType violan esta regla. Puede cambiar el nombre de una de las operaciones cambiando el nombre del método o utilizando la propiedad Name de OperationContractAttribute.
Puedo solucionar esto eliminando los métodos adjuntos Async o simplemente usando svcutil desde VS2010. Pero me pregunto por qué svcutil genera una interfaz que causa una excepción de tiempo de ejecución (¿esto es un error?), Y si hay algo adicional que se supone que debo hacer para que funcione.
Otra solución alternativa: utilice el indicador de línea de comandos '/ async-'. –
¿Cuál es su marco de tiempo de ejecución? Tal vez es una limitación que no está presente en un marco posterior –
@JamesManning El ensamblado apunta .Net 4.5 – vossad01