Fondamentalmente, ho un tipo di server "Foo" con i membri X e Y. Ogni volta che utilizzo il "Aggiungi riferimento server" di Visual Studio, vedo il WSDL e il proxy generato entrambi aggiungere la parola "Campo" a tutti i membri e cambia l'involucro della prima lettera. IE, "X" e "Y" vengono rinominati "xField" e "yField". Qualche idea sul perché questo sta accadendo? Non riesco a capire il modello.Perché a volte WCF aggiunge "Campo" alla fine dei tipi di proxy generati?
Dettagli: dispongo di un servizio Web ASMX legacy che espone un tipo "Foo". Ho creato un nuovo servizio WCF che è un involucro attorno a quel vecchio servizio web: il nuovo servizio avvolge solo quei metodi e forse aggiorna i valori di alcuni campi, ma espone gli stessi identici metodi e restituisce gli stessi identici tipi. Ho provato a ricreare i riferimenti più volte e, sempre, sempre rinomina i miei campi: la variabile "STUFF" è esposta in wsdl e proxy come "sTUFFField". La variabile "X" è esposta come "xField", ecc.
La cosa divertente è che non riesco a capire il modello - Ho provato a creare un nuovo servizio Web ASMX come test e wrapping che - le variabili non vengono rinominate poi. Quindi non riesco a capire il motivo del perché/quando WCF rinomina le variabili.
Qualcuno sa?
Ha importanza? Se è così, _come_ importa? –
È importante. Ho due casi d'uso (per utenti interni o esterni). Gli utenti interni possono ignorare il mio servizio wrapper e passare direttamente al servizio legacy sottostante (bypassando quindi la necessità di accedere). Gli utenti esterni devono passare attraverso il servizio wrapper e dargli una password, ecc. Ma poiché i servizi interni ed esterni ora danno nomi diversi ai campi, non posso condividere lo stesso codice per parlare con entrambi i servizi. Ho bisogno di scrivere diverse versioni del codice per ogni servizio. – tavistmorph