così .Net 4 ha aggiunto parametri nominativi e opzionali che sono piuttosto dolci. Non ho bisogno di fare tanti metodi di sovraccarico su 1 linea.Parametri nominati e opzionali, e WCF
Funzionerà su WCF?
così .Net 4 ha aggiunto parametri nominativi e opzionali che sono piuttosto dolci. Non ho bisogno di fare tanti metodi di sovraccarico su 1 linea.Parametri nominati e opzionali, e WCF
Funzionerà su WCF?
Poiché si tratta di semantica del compilatore, direi di no. Tuttavia, ti aspetteresti che funzionino nell'unico modo seguente.
Sul lato codice di servizio tutto il codice accetta i parametri predefiniti.
Sul lato client, noto che gli strumenti "Aggiungi riferimento servizio" su VS2010 non prendono i valori predefiniti e li aggiungono al proxy generato. Quindi dovresti generare il tuo proxy.
In questo modo il codice client può utilizzare i valori predefiniti se il valore predefinito è specificato nell'implementazione del contratto lato client.
Sarebbe lo stesso vale per i parametri denominati.
Tutto sommato sì, ma il materiale non viene trasferito su WCF. Tutto ciò che accade è che il proxy client dovrà inviare nella fabbrica del canale come parametro appropriato.
WSDL non può descrivere parametri opzionali, quindi la risposta è "no".
È spiacevole che [OperationContract] converta silenziosamente parametri facoltativi nei parametri richiesti :( – epalm
@epalm: non converte nulla. Ignora solo cose che non sono rilevanti –
Chiarimento: quando ospita un servizio WCF e genera un proxy tramite Metadata Exchange, i metodi nel Reference.cs generato hanno parametri richiesti, anche se i metodi nel servizio contengono parametri facoltativi – epalm
Il motivo alla base di ciò è che né WSDL, né MEX sanno nulla delle funzionalità del linguaggio di programmazione C#. Non hanno modo di descrivere i parametri opzionali. –