2010-04-15 25 views

Respuesta

19

Dado que se trata de una semántica de compilación, diría que no. Sin embargo, esperarías que trabajen de la única manera siguiente.

En el lado Código de servicio, todos los códigos aceptarían los parámetros predeterminados.

En el lado del cliente, observo que la herramienta 'Añadir referencia de servicio' en VS2010 no toma los valores predeterminados y los agrega al proxy generado. Entonces tendrías que generar tu propio proxy.

De esta forma, el código del cliente puede usar los valores predeterminados si se especifica el valor predeterminado en la implementación del contrato del lado del cliente.

Sería que lo mismo es cierto para los parámetros nombrados.

En general, sí, pero el material no se transfiere a WCF. Todo lo que sucede es que el proxy del cliente tendrá que enviar a la fábrica del canal como un parámetro adecuado.

+2

La razón subyacente de esto es que ni WSDL ni MEX saben nada sobre las características del lenguaje de programación C#. No tienen forma de describir los parámetros opcionales. –

30

WSDL no puede describir los parámetros opcionales, por lo que la respuesta es "no".

+2

Es desafortunado que [OperationContract] simplemente convierta parámetros opcionales en los parámetros necesarios :( – epalm

+1

@epalm: no convierte nada. Simplemente ignora cosas que no son relevantes. –

+0

Aclaración: cuando recibo un servicio WCF y genero un proxy a través de Metadata Exchange, los métodos en el Reference.cs generado han requerido parámetros, aunque los métodos en el servicio contienen parámetros opcionales. – epalm

Cuestiones relacionadas